diff --git a/common/group_store.go b/common/group_store.go
index 6fd4ebd3..d16872a5 100644
--- a/common/group_store.go
+++ b/common/group_store.go
@@ -7,10 +7,10 @@ import (
"errors"
"log"
"sort"
- "sync"
"strconv"
+ "sync"
- "github.com/Azareal/Gosora/query_gen"
+ qgen "github.com/Azareal/Gosora/query_gen"
)
var Groups GroupStore
@@ -22,15 +22,15 @@ type GroupStore interface {
Get(id int) (*Group, error)
GetCopy(id int) (Group, error)
Exists(id int) bool
- Create(name string, tag string, isAdmin bool, isMod bool, isBanned bool) (id int, err error)
+ Create(name, tag string, isAdmin, isMod, isBanned bool) (id int, err error)
GetAll() ([]*Group, error)
- GetRange(lower int, higher int) ([]*Group, error)
+ GetRange(lower, higher int) ([]*Group, error)
Reload(id int) error // ? - Should we move this to GroupCache? It might require us to do some unnecessary casting though
Count() int
}
type GroupCache interface {
- CacheSet(group *Group) error
+ CacheSet(g *Group) error
SetCanSee(gid int, canSee []int) error
Length() int
}
@@ -52,10 +52,10 @@ func NewMemoryGroupStore() (*MemoryGroupStore, error) {
return &MemoryGroupStore{
groups: make(map[int]*Group),
groupCount: 0,
- getAll: acc.Select(ug).Columns("gid, name, permissions, plugin_perms, is_mod, is_admin, is_banned, tag").Prepare(),
- get: acc.Select(ug).Columns("name, permissions, plugin_perms, is_mod, is_admin, is_banned, tag").Where("gid = ?").Prepare(),
+ getAll: acc.Select(ug).Columns("gid,name,permissions,plugin_perms,is_mod,is_admin,is_banned,tag").Prepare(),
+ get: acc.Select(ug).Columns("name,permissions,plugin_perms,is_mod,is_admin,is_banned,tag").Where("gid=?").Prepare(),
count: acc.Count(ug).Prepare(),
- userCount: acc.Count("users").Where("group = ?").Prepare(),
+ userCount: acc.Count("users").Where("group=?").Prepare(),
}, acc.FirstError()
}
@@ -98,8 +98,8 @@ func (s *MemoryGroupStore) LoadGroups() error {
}
// TODO: Hit the database when the item isn't in memory
-func (s *MemoryGroupStore) dirtyGetUnsafe(gid int) *Group {
- group, ok := s.groups[gid]
+func (s *MemoryGroupStore) dirtyGetUnsafe(id int) *Group {
+ group, ok := s.groups[id]
if !ok {
return &blankGroup
}
@@ -107,9 +107,9 @@ func (s *MemoryGroupStore) dirtyGetUnsafe(gid int) *Group {
}
// TODO: Hit the database when the item isn't in memory
-func (s *MemoryGroupStore) DirtyGet(gid int) *Group {
+func (s *MemoryGroupStore) DirtyGet(id int) *Group {
s.RLock()
- group, ok := s.groups[gid]
+ group, ok := s.groups[id]
s.RUnlock()
if !ok {
return &blankGroup
@@ -118,9 +118,9 @@ func (s *MemoryGroupStore) DirtyGet(gid int) *Group {
}
// TODO: Hit the database when the item isn't in memory
-func (s *MemoryGroupStore) Get(gid int) (*Group, error) {
+func (s *MemoryGroupStore) Get(id int) (*Group, error) {
s.RLock()
- group, ok := s.groups[gid]
+ group, ok := s.groups[id]
s.RUnlock()
if !ok {
return nil, ErrNoRows
@@ -129,9 +129,9 @@ func (s *MemoryGroupStore) Get(gid int) (*Group, error) {
}
// TODO: Hit the database when the item isn't in memory
-func (s *MemoryGroupStore) GetCopy(gid int) (Group, error) {
+func (s *MemoryGroupStore) GetCopy(id int) (Group, error) {
s.RLock()
- group, ok := s.groups[gid]
+ group, ok := s.groups[id]
s.RUnlock()
if !ok {
return blankGroup, ErrNoRows
@@ -147,7 +147,7 @@ func (s *MemoryGroupStore) Reload(id int) error {
return nil
}
canSee := g.CanSee
-
+
g = &Group{ID: id, CanSee: canSee}
err = s.get.QueryRow(id).Scan(&g.Name, &g.PermissionsText, &g.PluginPermsText, &g.IsMod, &g.IsAdmin, &g.IsBanned, &g.Tag)
if err != nil {
@@ -159,7 +159,7 @@ func (s *MemoryGroupStore) Reload(id int) error {
LogError(err)
return nil
}
-
+
s.CacheSet(g)
TopicListThaw.Thaw()
return nil
@@ -218,16 +218,16 @@ func (s *MemoryGroupStore) CacheSet(g *Group) error {
}
// TODO: Hit the database when the item isn't in memory
-func (s *MemoryGroupStore) Exists(gid int) bool {
+func (s *MemoryGroupStore) Exists(id int) bool {
s.RLock()
- group, ok := s.groups[gid]
+ group, ok := s.groups[id]
s.RUnlock()
return ok && group.Name != ""
}
// ? Allow two groups with the same name?
// TODO: Refactor this
-func (s *MemoryGroupStore) Create(name string, tag string, isAdmin bool, isMod bool, isBanned bool) (gid int, err error) {
+func (s *MemoryGroupStore) Create(name, tag string, isAdmin, isMod, isBanned bool) (gid int, err error) {
permstr := "{}"
tx, err := qgen.Builder.Begin()
if err != nil {
@@ -329,7 +329,7 @@ func (s *MemoryGroupStore) GetAllMap() (map[int]*Group, error) {
// ? - Set the lower and higher numbers to 0 to remove the bounds
// TODO: Might be a little slow right now, maybe we can cache the groups in a slice or break the map up into chunks
-func (s *MemoryGroupStore) GetRange(lower int, higher int) (groups []*Group, err error) {
+func (s *MemoryGroupStore) GetRange(lower, higher int) (groups []*Group, err error) {
if lower == 0 && higher == 0 {
return s.GetAll()
}
diff --git a/common/misc_logs.go b/common/misc_logs.go
index b34e35bf..97ecb06b 100644
--- a/common/misc_logs.go
+++ b/common/misc_logs.go
@@ -31,8 +31,8 @@ func init() {
DbInits.Add(func(acc *qgen.Accumulator) error {
rl := "registration_logs"
regLogStmts = RegLogStmts{
- update: acc.Update(rl).Set("username=?, email=?, failureReason=?, success=?").Where("rlid=?").Prepare(),
- create: acc.Insert(rl).Columns("username, email, failureReason, success, ipaddress, doneAt").Fields("?,?,?,?,?,UTC_TIMESTAMP()").Prepare(),
+ update: acc.Update(rl).Set("username=?,email=?,failureReason=?,success=?").Where("rlid=?").Prepare(),
+ create: acc.Insert(rl).Columns("username,email,failureReason,success,ipaddress,doneAt").Fields("?,?,?,?,?,UTC_TIMESTAMP()").Prepare(),
}
return acc.FirstError()
})
@@ -69,7 +69,7 @@ func NewRegLogStore(acc *qgen.Accumulator) (*SQLRegLogStore, error) {
rl := "registration_logs"
return &SQLRegLogStore{
count: acc.Count(rl).Prepare(),
- getOffset: acc.Select(rl).Columns("rlid, username, email, failureReason, success, ipaddress, doneAt").Orderby("doneAt DESC").Limit("?,?").Prepare(),
+ getOffset: acc.Select(rl).Columns("rlid,username,email,failureReason,success,ipaddress,doneAt").Orderby("doneAt DESC").Limit("?,?").Prepare(),
}, acc.FirstError()
}
diff --git a/common/reply_cache.go b/common/reply_cache.go
index 7dea426c..ded4843d 100644
--- a/common/reply_cache.go
+++ b/common/reply_cache.go
@@ -18,7 +18,7 @@ type ReplyCache interface {
RemoveUnsafe(id int) error
Flush()
Length() int
- SetCapacity(capacity int)
+ SetCapacity(cap int)
GetCapacity() int
}
@@ -32,10 +32,10 @@ type MemoryReplyCache struct {
}
// NewMemoryReplyCache gives you a new instance of MemoryReplyCache
-func NewMemoryReplyCache(capacity int) *MemoryReplyCache {
+func NewMemoryReplyCache(cap int) *MemoryReplyCache {
return &MemoryReplyCache{
items: make(map[int]*Reply),
- capacity: capacity,
+ capacity: cap,
}
}
@@ -152,9 +152,9 @@ func (s *MemoryReplyCache) Length() int {
}
// SetCapacity sets the maximum number of replies which this cache can hold
-func (s *MemoryReplyCache) SetCapacity(capacity int) {
+func (s *MemoryReplyCache) SetCapacity(cap int) {
// Ints are moved in a single instruction, so this should be thread-safe
- s.capacity = capacity
+ s.capacity = cap
}
// GetCapacity returns the maximum number of replies this cache can hold
diff --git a/common/reply_store.go b/common/reply_store.go
index a1b719cb..1185948e 100644
--- a/common/reply_store.go
+++ b/common/reply_store.go
@@ -13,7 +13,7 @@ type ReplyStore interface {
Get(id int) (*Reply, error)
Each(f func(*Reply) error) error
Exists(id int) bool
- Create(t *Topic, content string, ip string, uid int) (id int, err error)
+ Create(t *Topic, content, ip string, uid int) (id int, err error)
Count() (count int)
CountUser(uid int) (count int)
CountMegaUser(uid int) (count int)
diff --git a/common/topic_cache.go b/common/topic_cache.go
index 50a0df4e..29643844 100644
--- a/common/topic_cache.go
+++ b/common/topic_cache.go
@@ -17,7 +17,7 @@ type TopicCache interface {
RemoveUnsafe(id int) error
Flush()
Length() int
- SetCapacity(capacity int)
+ SetCapacity(cap int)
GetCapacity() int
}
@@ -31,10 +31,10 @@ type MemoryTopicCache struct {
}
// NewMemoryTopicCache gives you a new instance of MemoryTopicCache
-func NewMemoryTopicCache(capacity int) *MemoryTopicCache {
+func NewMemoryTopicCache(cap int) *MemoryTopicCache {
return &MemoryTopicCache{
items: make(map[int]*Topic),
- capacity: capacity,
+ capacity: cap,
}
}
@@ -150,9 +150,9 @@ func (s *MemoryTopicCache) Length() int {
}
// SetCapacity sets the maximum number of topics which this cache can hold
-func (s *MemoryTopicCache) SetCapacity(capacity int) {
+func (s *MemoryTopicCache) SetCapacity(cap int) {
// Ints are moved in a single instruction, so this should be thread-safe
- s.capacity = capacity
+ s.capacity = cap
}
// GetCapacity returns the maximum number of topics this cache can hold
diff --git a/common/user.go b/common/user.go
index c5f3ed6e..9f73ccd3 100644
--- a/common/user.go
+++ b/common/user.go
@@ -250,7 +250,7 @@ func (u *User) setTempGroupTx(tx *sql.Tx, tempGroup int) error {
}
// Make this more stateless?
-func (u *User) ScheduleGroupUpdate(gid int, issuedBy int, duration time.Duration) error {
+func (u *User) ScheduleGroupUpdate(gid, issuedBy int, duration time.Duration) error {
var temp bool
if duration.Nanoseconds() != 0 {
temp = true
diff --git a/common/user_cache.go b/common/user_cache.go
index caefb56f..e0d9674d 100644
--- a/common/user_cache.go
+++ b/common/user_cache.go
@@ -18,7 +18,7 @@ type UserCache interface {
RemoveUnsafe(id int) error
Flush()
Length() int
- SetCapacity(capacity int)
+ SetCapacity(cap int)
GetCapacity() int
}
@@ -32,10 +32,10 @@ type MemoryUserCache struct {
}
// NewMemoryUserCache gives you a new instance of MemoryUserCache
-func NewMemoryUserCache(capacity int) *MemoryUserCache {
+func NewMemoryUserCache(cap int) *MemoryUserCache {
return &MemoryUserCache{
items: make(map[int]*User),
- capacity: capacity,
+ capacity: cap,
}
}
@@ -219,9 +219,9 @@ func (s *MemoryUserCache) Length() int {
}
// SetCapacity sets the maximum number of users which this cache can hold
-func (s *MemoryUserCache) SetCapacity(capacity int) {
+func (s *MemoryUserCache) SetCapacity(cap int) {
// Ints are moved in a single instruction, so this should be thread-safe
- s.capacity = capacity
+ s.capacity = cap
}
// GetCapacity returns the maximum number of users this cache can hold
diff --git a/common/user_store.go b/common/user_store.go
index 9d253683..a30b587f 100644
--- a/common/user_store.go
+++ b/common/user_store.go
@@ -25,7 +25,7 @@ type UserStore interface {
//BulkGet(ids []int) ([]*User, error)
BulkGetMap(ids []int) (map[int]*User, error)
BypassGet(id int) (*User, error)
- Create(name string, password string, email string, group int, active bool) (int, error)
+ Create(name, password, email string, group int, active bool) (int, error)
Reload(id int) error
Count() int
@@ -56,7 +56,7 @@ func NewDefaultUserStore(cache UserCache) (*DefaultUserStore, error) {
// TODO: Add an admin version of registerStmt with more flexibility?
return &DefaultUserStore{
cache: cache,
- get: acc.Select(u).Columns("name, group, active, is_super_admin, session, email, avatar, message, level, score, posts, liked, last_ip, temp_group, enable_embeds").Where("uid = ?").Prepare(),
+ get: acc.Select(u).Columns("name, group, active, is_super_admin, session, email, avatar, message, level, score, posts, liked, last_ip, temp_group, enable_embeds").Where("uid=?").Prepare(),
getByName: acc.Select(u).Columns("uid, name, group, active, is_super_admin, session, email, avatar, message, level, score, posts, liked, last_ip, temp_group, enable_embeds").Where("name = ?").Prepare(),
getOffset: acc.Select(u).Columns("uid, name, group, active, is_super_admin, session, email, avatar, message, level, score, posts, liked, last_ip, temp_group, enable_embeds").Orderby("uid ASC").Limit("?,?").Prepare(),
getAll: acc.Select(u).Columns("uid, name, group, active, is_super_admin, session, email, avatar, message, level, score, posts, liked, last_ip, temp_group, enable_embeds").Prepare(),
diff --git a/common/websockets.go b/common/websockets.go
index 7dcc5261..e4f16c0d 100644
--- a/common/websockets.go
+++ b/common/websockets.go
@@ -39,8 +39,8 @@ func init() {
//easyjson:json
type WsTopicList struct {
- Topics []*WsTopicsRow
- LastPage int // Not for WebSockets, but for the JSON endpoint for /topics/ to keep the paginator functional
+ Topics []*WsTopicsRow
+ LastPage int // Not for WebSockets, but for the JSON endpoint for /topics/ to keep the paginator functional
LastUpdate int64
}
@@ -214,7 +214,7 @@ func wsPageResume(wsUser *WSUser, conn *websocket.Conn, page string, resume int6
if page == "/" {
page = Config.DefaultPath
}
-
+
switch {
// TODO: Synchronise this bit of resume with tick updating lastTopicList?
case page == "/topics/":
@@ -414,27 +414,27 @@ AdminStatLoop:
w.Write([]byte(msg + "\r"))
}
push := func(id, msg string) {
- write("set #" + id + " "+msg+"")
+ write("set #" + id + " " + msg + "")
}
pushc := func(id, classes string) {
write("set-class #" + id + " " + classes)
}
if !noStatUpdates {
- push("dash-totonline",p.GetTmplPhrasef("panel_dashboard_online", totonline, totunit))
- push("dash-gonline",p.GetTmplPhrasef("panel_dashboard_guests_online", gonline, gunit))
- push("dash-uonline",p.GetTmplPhrasef("panel_dashboard_users_online", uonline, uunit))
- push("dash-reqs",strconv.Itoa(reqCount) + " reqs / second")
- pushc("dash-totonline","grid_item grid_stat " + onlineColour)
- pushc("dash-gonline","grid_item grid_stat " + onlineGuestsColour)
- pushc("dash-uonline","grid_item grid_stat " + onlineUsersColour)
+ push("dash-totonline", p.GetTmplPhrasef("panel_dashboard_online", totonline, totunit))
+ push("dash-gonline", p.GetTmplPhrasef("panel_dashboard_guests_online", gonline, gunit))
+ push("dash-uonline", p.GetTmplPhrasef("panel_dashboard_users_online", uonline, uunit))
+ push("dash-reqs", strconv.Itoa(reqCount)+" reqs / second")
+ pushc("dash-totonline", "grid_item grid_stat "+onlineColour)
+ pushc("dash-gonline", "grid_item grid_stat "+onlineGuestsColour)
+ pushc("dash-uonline", "grid_item grid_stat "+onlineUsersColour)
//pushc("dash-reqs","grid_item grid_stat grid_end_group")
}
- push("dash-cpu",p.GetTmplPhrasef("panel_dashboard_cpu",cpustr) + "%")
- pushc("dash-cpu","grid_item grid_istat " + cpuColour)
+ push("dash-cpu", p.GetTmplPhrasef("panel_dashboard_cpu", cpustr)+"%")
+ pushc("dash-cpu", "grid_item grid_istat "+cpuColour)
if !noRAMUpdates {
- push("dash-ram", p.GetTmplPhrasef("panel_dashboard_ram",ramstr))
- pushc("dash-ram","grid_item grid_istat " + ramColour)
+ push("dash-ram", p.GetTmplPhrasef("panel_dashboard_ram", ramstr))
+ pushc("dash-ram", "grid_item grid_istat "+ramColour)
}
w.Close()
}
diff --git a/common/widget.go b/common/widget.go
index e64312b6..fa28d0a2 100644
--- a/common/widget.go
+++ b/common/widget.go
@@ -27,7 +27,7 @@ func init() {
w := "widgets"
widgetStmts = WidgetStmts{
//getList: acc.Select(w).Columns("wid, position, side, type, active, location, data").Orderby("position ASC").Prepare(),
- getDockList: acc.Select(w).Columns("wid, position, type, active, location, data").Where("side = ?").Orderby("position ASC").Prepare(),
+ getDockList: acc.Select(w).Columns("wid, position, type, active, location, data").Where("side=?").Orderby("position ASC").Prepare(),
//model: acc.SimpleModel(w,"position,type,active,location,data","wid"),
delete: acc.Delete(w).Where("wid=?").Prepare(),
create: acc.Insert(w).Columns("position, side, type, active, location, data").Fields("?,?,?,?,?,?").Prepare(),
@@ -50,7 +50,7 @@ type Widget struct {
Literal bool
TickMask atomic.Value
- InitFunc func(w *Widget, schedule *WidgetScheduler) error
+ InitFunc func(w *Widget, sched *WidgetScheduler) error
ShutdownFunc func(w *Widget) error
BuildFunc func(w *Widget, hvars interface{}) (string, error)
TickFunc func(w *Widget) error
diff --git a/common/widget_store.go b/common/widget_store.go
index cd239de0..15eee728 100644
--- a/common/widget_store.go
+++ b/common/widget_store.go
@@ -16,24 +16,24 @@ func NewDefaultWidgetStore() *DefaultWidgetStore {
return &DefaultWidgetStore{widgets: make(map[int]*Widget)}
}
-func (w *DefaultWidgetStore) Get(id int) (*Widget, error) {
- w.RLock()
- defer w.RUnlock()
- widget, ok := w.widgets[id]
+func (s *DefaultWidgetStore) Get(id int) (*Widget, error) {
+ s.RLock()
+ defer s.RUnlock()
+ w, ok := s.widgets[id]
if !ok {
- return widget, sql.ErrNoRows
+ return w, sql.ErrNoRows
}
- return widget, nil
+ return w, nil
}
-func (w *DefaultWidgetStore) set(widget *Widget) {
- w.Lock()
- defer w.Unlock()
- w.widgets[widget.ID] = widget
+func (s *DefaultWidgetStore) set(w *Widget) {
+ s.Lock()
+ defer s.Unlock()
+ s.widgets[w.ID] = w
}
-func (w *DefaultWidgetStore) delete(id int) {
- w.Lock()
- defer w.Unlock()
- delete(w.widgets, id)
+func (s *DefaultWidgetStore) delete(id int) {
+ s.Lock()
+ defer s.Unlock()
+ delete(s.widgets, id)
}
diff --git a/common/widget_wol.go b/common/widget_wol.go
index 8b273695..830b1921 100644
--- a/common/widget_wol.go
+++ b/common/widget_wol.go
@@ -16,8 +16,8 @@ type wolUsers struct {
UserCount int
}
-func wolInit(w *Widget, schedule *WidgetScheduler) error {
- schedule.Add(w)
+func wolInit(w *Widget, sched *WidgetScheduler) error {
+ sched.Add(w)
return nil
}
diff --git a/common/ws_user.go b/common/ws_user.go
index cce8ea9c..5ac9fe20 100644
--- a/common/ws_user.go
+++ b/common/ws_user.go
@@ -52,7 +52,7 @@ func (u *WSUser) WriteAll(msg string) error {
return nil
}
-func (u *WSUser) WriteToPage(msg string, page string) error {
+func (u *WSUser) WriteToPage(msg, page string) error {
return u.WriteToPageBytes([]byte(msg), page)
}
diff --git a/extend/guilds/lib/guild_store.go b/extend/guilds/lib/guild_store.go
index ba7f3743..79701557 100644
--- a/extend/guilds/lib/guild_store.go
+++ b/extend/guilds/lib/guild_store.go
@@ -1,13 +1,16 @@
package guilds
-import "database/sql"
-import "github.com/Azareal/Gosora/query_gen"
+import (
+ "database/sql"
+
+ qgen "github.com/Azareal/Gosora/query_gen"
+)
var Gstore GuildStore
type GuildStore interface {
- Get(id int) (guild *Guild, err error)
- Create(name string, desc string, active bool, privacy int, uid int, fid int) (int, error)
+ Get(id int) (g *Guild, err error)
+ Create(name, desc string, active bool, privacy, uid, fid int) (int, error)
}
type SQLGuildStore struct {
@@ -18,7 +21,7 @@ type SQLGuildStore struct {
func NewSQLGuildStore() (*SQLGuildStore, error) {
acc := qgen.NewAcc()
return &SQLGuildStore{
- get: acc.Select("guilds").Columns("name, desc, active, privacy, joinable, owner, memberCount, mainForum, backdrop, createdAt, lastUpdateTime").Where("guildID = ?").Prepare(),
+ get: acc.Select("guilds").Columns("name, desc, active, privacy, joinable, owner, memberCount, mainForum, backdrop, createdAt, lastUpdateTime").Where("guildID=?").Prepare(),
create: acc.Insert("guilds").Columns("name, desc, active, privacy, joinable, owner, memberCount, mainForum, backdrop, createdAt, lastUpdateTime").Fields("?,?,?,?,1,?,1,?,'',UTC_TIMESTAMP(),UTC_TIMESTAMP()").Prepare(),
}, acc.FirstError()
}
@@ -28,13 +31,13 @@ func (s *SQLGuildStore) Close() {
_ = s.create.Close()
}
-func (s *SQLGuildStore) Get(id int) (guild *Guild, err error) {
+func (s *SQLGuildStore) Get(id int) (g *Guild, err error) {
g = &Guild{ID: id}
- err = s.get.QueryRow(guildID).Scan(&g.Name, &g.Desc, &g.Active, &g.Privacy, &g.Joinable, &g.Owner, &g.MemberCount, &g.MainForumID, &g.Backdrop, &g.CreatedAt, &g.LastUpdateTime)
+ err = s.get.QueryRow(id).Scan(&g.Name, &g.Desc, &g.Active, &g.Privacy, &g.Joinable, &g.Owner, &g.MemberCount, &g.MainForumID, &g.Backdrop, &g.CreatedAt, &g.LastUpdateTime)
return g, err
}
-func (s *SQLGuildStore) Create(name string, desc string, active bool, privacy int, uid int, fid int) (int, error) {
+func (s *SQLGuildStore) Create(name, desc string, active bool, privacy, uid, fid int) (int, error) {
res, err := s.create.Exec(name, desc, active, privacy, uid, fid)
if err != nil {
return 0, err
diff --git a/extend/guilds/lib/guilds.go b/extend/guilds/lib/guilds.go
index 5a68a45d..cf694d35 100644
--- a/extend/guilds/lib/guilds.go
+++ b/extend/guilds/lib/guilds.go
@@ -87,7 +87,7 @@ type Member struct {
User c.User
}
-func PrebuildTmplList(user c.User, h *c.Header) c.CTmpl {
+func PrebuildTmplList(user *c.User, h *c.Header) c.CTmpl {
guildList := []*Guild{
&Guild{
ID: 1,
@@ -113,7 +113,7 @@ func PrebuildTmplList(user c.User, h *c.Header) c.CTmpl {
func CommonAreaWidgets(header *c.Header) {
// TODO: Hot Groups? Featured Groups? Official Groups?
var b bytes.Buffer
- var menu = c.WidgetMenu{"Guilds", []c.WidgetMenuItem{
+ menu := c.WidgetMenu{"Guilds", []c.WidgetMenuItem{
c.WidgetMenuItem{"Create Guild", "/guild/create/", false},
}}
@@ -162,11 +162,11 @@ func GuildWidgets(header *c.Header, guildItem *Guild) (success bool) {
*/
func RouteGuildList(w http.ResponseWriter, r *http.Request, user c.User) c.RouteError {
- header, ferr := c.UserCheck(w, r, &user)
+ h, ferr := c.UserCheck(w, r, &user)
if ferr != nil {
return ferr
}
- CommonAreaWidgets(header)
+ CommonAreaWidgets(h)
rows, err := ListStmt.Query()
if err != nil && err != c.ErrNoRows {
@@ -176,21 +176,20 @@ func RouteGuildList(w http.ResponseWriter, r *http.Request, user c.User) c.Route
var guildList []*Guild
for rows.Next() {
- guildItem := &Guild{ID: 0}
- err := rows.Scan(&guildItem.ID, &guildItem.Name, &guildItem.Desc, &guildItem.Active, &guildItem.Privacy, &guildItem.Joinable, &guildItem.Owner, &guildItem.MemberCount, &guildItem.CreatedAt, &guildItem.LastUpdateTime)
+ g := &Guild{ID: 0}
+ err := rows.Scan(&g.ID, &g.Name, &g.Desc, &g.Active, &g.Privacy, &g.Joinable, &g.Owner, &g.MemberCount, &g.CreatedAt, &g.LastUpdateTime)
if err != nil {
return c.InternalError(err, w, r)
}
- guildItem.Link = BuildGuildURL(c.NameToSlug(guildItem.Name), guildItem.ID)
- guildList = append(guildList, guildItem)
+ g.Link = BuildGuildURL(c.NameToSlug(g.Name), g.ID)
+ guildList = append(guildList, g)
}
- err = rows.Err()
- if err != nil {
+ if err = rows.Err(); err != nil {
return c.InternalError(err, w, r)
}
- pi := ListPage{"Guild List", user, header, guildList}
- return routes.RenderTemplate("guilds_guild_list", w, r, header, pi)
+ pi := ListPage{"Guild List", user, h, guildList}
+ return routes.RenderTemplate("guilds_guild_list", w, r, h, pi)
}
func MiddleViewGuild(w http.ResponseWriter, r *http.Request, user c.User) c.RouteError {
@@ -217,18 +216,18 @@ func MiddleViewGuild(w http.ResponseWriter, r *http.Request, user c.User) c.Rout
}
func RouteCreateGuild(w http.ResponseWriter, r *http.Request, user c.User) c.RouteError {
- header, ferr := c.UserCheck(w, r, &user)
+ h, ferr := c.UserCheck(w, r, &user)
if ferr != nil {
return ferr
}
- header.Title = "Create Guild"
+ h.Title = "Create Guild"
// TODO: Add an approval queue mode for group creation
if !user.Loggedin || !user.PluginPerms["CreateGuild"] {
return c.NoPermissions(w, r, user)
}
- CommonAreaWidgets(header)
+ CommonAreaWidgets(h)
- return routes.RenderTemplate("guilds_create_guild", w, r, header, c.Page{header, tList, nil})
+ return routes.RenderTemplate("guilds_create_guild", w, r, h, c.Page{h, tList, nil})
}
func RouteCreateGuildSubmit(w http.ResponseWriter, r *http.Request, user c.User) c.RouteError {
@@ -237,14 +236,13 @@ func RouteCreateGuildSubmit(w http.ResponseWriter, r *http.Request, user c.User)
return c.NoPermissions(w, r, user)
}
- var guildActive = true
- var guildName = c.SanitiseSingleLine(r.PostFormValue("group_name"))
+ guildActive := true
+ guildName := c.SanitiseSingleLine(r.PostFormValue("group_name"))
// TODO: Allow Markdown / BBCode / Limited HTML in the description?
- var guildDesc = c.SanitiseBody(r.PostFormValue("group_desc"))
- var gprivacy = r.PostFormValue("group_privacy")
+ guildDesc := c.SanitiseBody(r.PostFormValue("group_desc"))
var guildPrivacy int
- switch gprivacy {
+ switch r.PostFormValue("group_privacy") {
case "0":
guildPrivacy = 0 // Public
case "1":
@@ -292,13 +290,13 @@ func RouteMemberList(w http.ResponseWriter, r *http.Request, user c.User) c.Rout
return c.PreError("Not a valid group ID", w, r)
}
- guildItem, err := Gstore.Get(guildID)
+ guild, err := Gstore.Get(guildID)
if err != nil {
return c.LocalError("Bad group", w, r, user)
}
- guildItem.Link = BuildGuildURL(c.NameToSlug(guildItem.Name), guildItem.ID)
+ guild.Link = BuildGuildURL(c.NameToSlug(guild.Name), guild.ID)
- GuildWidgets(header, guildItem)
+ GuildWidgets(header, guild)
rows, err := MemberListJoinStmt.Query(guildID)
if err != nil && err != c.ErrNoRows {
@@ -307,35 +305,34 @@ func RouteMemberList(w http.ResponseWriter, r *http.Request, user c.User) c.Rout
var guildMembers []Member
for rows.Next() {
- guildMember := Member{PostCount: 0}
- err := rows.Scan(&guildMember.User.ID, &guildMember.Rank, &guildMember.PostCount, &guildMember.JoinedAt, &guildMember.User.Name, &guildMember.User.RawAvatar)
+ gMember := Member{PostCount: 0}
+ err := rows.Scan(&gMember.User.ID, &gMember.Rank, &gMember.PostCount, &gMember.JoinedAt, &gMember.User.Name, &gMember.User.RawAvatar)
if err != nil {
return c.InternalError(err, w, r)
}
- guildMember.Link = c.BuildProfileURL(c.NameToSlug(guildMember.User.Name), guildMember.User.ID)
- guildMember.User.Avatar, guildMember.User.MicroAvatar = c.BuildAvatar(guildMember.User.ID, guildMember.User.RawAvatar)
- guildMember.JoinedAt, _ = c.RelativeTimeFromString(guildMember.JoinedAt)
- if guildItem.Owner == guildMember.User.ID {
- guildMember.RankString = "Owner"
+ gMember.Link = c.BuildProfileURL(c.NameToSlug(gMember.User.Name), gMember.User.ID)
+ gMember.User.Avatar, gMember.User.MicroAvatar = c.BuildAvatar(gMember.User.ID, gMember.User.RawAvatar)
+ gMember.JoinedAt, _ = c.RelativeTimeFromString(gMember.JoinedAt)
+ if guild.Owner == gMember.User.ID {
+ gMember.RankString = "Owner"
} else {
- switch guildMember.Rank {
+ switch gMember.Rank {
case 0:
- guildMember.RankString = "Member"
+ gMember.RankString = "Member"
case 1:
- guildMember.RankString = "Mod"
+ gMember.RankString = "Mod"
case 2:
- guildMember.RankString = "Admin"
+ gMember.RankString = "Admin"
}
}
- guildMembers = append(guildMembers, guildMember)
+ guildMembers = append(guildMembers, gMember)
}
- err = rows.Err()
- if err != nil {
+ if err = rows.Err(); err != nil {
return c.InternalError(err, w, r)
}
rows.Close()
- pi := MemberListPage{"Guild Member List", user, header, guildMembers, guildItem, 0, 0}
+ pi := MemberListPage{"Guild Member List", user, header, gMembers, guild, 0, 0}
// A plugin with plugins. Pluginception!
if c.RunPreRenderHook("pre_render_guilds_member_list", w, r, &user, &pi) {
return nil
@@ -347,7 +344,7 @@ func RouteMemberList(w http.ResponseWriter, r *http.Request, user c.User) c.Rout
return nil
}
-func AttachForum(guildID int, fid int) error {
+func AttachForum(guildID, fid int) error {
_, err := AttachForumStmt.Exec(guildID, fid)
return err
}
@@ -410,9 +407,9 @@ func TopicCreatePreLoop(args ...interface{}) interface{} {
// TODO: Add support for multiple boards and add per-board simplified permissions
// TODO: Take js into account for routes which expect JSON responses
func ForumCheck(args ...interface{}) (skip bool, rerr c.RouteError) {
- var r = args[1].(*http.Request)
- var fid = args[3].(*int)
- var forum = c.Forums.DirtyGet(*fid)
+ r := args[1].(*http.Request)
+ fid := args[3].(*int)
+ forum := c.Forums.DirtyGet(*fid)
if forum.ParentType == "guild" {
var err error
@@ -430,8 +427,7 @@ func ForumCheck(args ...interface{}) (skip bool, rerr c.RouteError) {
}
user := args[2].(*c.User)
- var rank int
- var posts int
+ var rank, posts int
var joinedAt string
// TODO: Group privacy settings. For now, groups are all globally visible
@@ -475,27 +471,27 @@ func ForumCheck(args ...interface{}) (skip bool, rerr c.RouteError) {
func Widgets(args ...interface{}) interface{} {
zone := args[0].(string)
- header := args[2].(*c.Header)
+ h := args[2].(*c.Header)
request := args[3].(*http.Request)
if zone != "view_forum" {
return false
}
- forum := args[1].(*c.Forum)
- if forum.ParentType == "guild" {
+ f := args[1].(*c.Forum)
+ if f.ParentType == "guild" {
// This is why I hate using contexts, all the daisy chains and interface casts x.x
- guildItem, ok := request.Context().Value("guilds_current_group").(*Guild)
+ guild, ok := request.Context().Value("guilds_current_group").(*Guild)
if !ok {
c.LogError(errors.New("Unable to find a parent group in the context data"))
return false
}
- if header.ExtData.Items == nil {
- header.ExtData.Items = make(map[string]interface{})
+ if h.ExtData.Items == nil {
+ h.ExtData.Items = make(map[string]interface{})
}
- header.ExtData.Items["guilds_current_group"] = guildItem
+ h.ExtData.Items["guilds_current_group"] = guild
- return GuildWidgets(header, guildItem)
+ return GuildWidgets(h, guild)
}
return false
}