From 01bef7a320c3adbf8eca6f6d93d26d77b78176dc Mon Sep 17 00:00:00 2001 From: Azareal Date: Mon, 11 Sep 2017 11:24:03 +0100 Subject: [PATCH] The route handlers now use camelCase. Updated the default config.go --- config.go | 83 ++++++++++++++++++------------------ gen_router.go | 88 +++++++++++++++++++------------------- install/install.go | 2 +- langs/english.json | 2 +- main.go | 95 +++++++++++++++++++++--------------------- mod_routes.go | 28 ++++++------- no_websockets.go | 2 +- panel_routes.go | 70 +++++++++++++++---------------- phrases.go | 16 ++++--- plugin_socialgroups.go | 4 +- router_gen/main.go | 6 +-- router_gen/routes.go | 90 +++++++++++++++++++-------------------- routes.go | 62 +++++++++++++-------------- site.go | 2 + websockets.go | 2 +- 15 files changed, 281 insertions(+), 271 deletions(-) diff --git a/config.go b/config.go index d42883bc..a9006d64 100644 --- a/config.go +++ b/config.go @@ -1,52 +1,53 @@ package main func init() { -// Site Info -site.Name = "TS" // Should be a setting in the database -site.Email = "" // Should be a setting in the database -site.Url = "localhost" -site.Port = "8080" -site.EnableSsl = false -site.EnableEmails = false -config.SslPrivkey = "" -config.SslFullchain = "" + // Site Info + site.Name = "TS" // Should be a setting in the database + site.Email = "" // Should be a setting in the database + site.Url = "localhost" + site.Port = "8080" // 8080 + site.EnableSsl = false + site.EnableEmails = false + site.HasProxy = false // Cloudflare counts as this, if it's sitting in the middle + config.SslPrivkey = "" + config.SslFullchain = "" -// Database details -db_config.Host = "localhost" -db_config.Username = "root" -db_config.Password = "password" -db_config.Dbname = "gosora" -db_config.Port = "3306" // You probably won't need to change this + // Database details + db_config.Host = "localhost" + db_config.Username = "root" + db_config.Password = "password" + db_config.Dbname = "gosora" + db_config.Port = "3306" // You probably won't need to change this -// Limiters -config.MaxRequestSize = 5 * megabyte + // Limiters + config.MaxRequestSize = 5 * megabyte -// Caching -config.CacheTopicUser = CACHE_STATIC -config.UserCacheCapacity = 100 // The max number of users held in memory -config.TopicCacheCapacity = 100 // The max number of topics held in memory + // Caching + config.CacheTopicUser = CACHE_STATIC + config.UserCacheCapacity = 120 // The max number of users held in memory + config.TopicCacheCapacity = 200 // The max number of topics held in memory -// Email -config.SmtpServer = "" -config.SmtpUsername = "" -config.SmtpPassword = "" -config.SmtpPort = "25" + // Email + config.SmtpServer = "" + config.SmtpUsername = "" + config.SmtpPassword = "" + config.SmtpPort = "25" -// Misc -config.DefaultRoute = route_topics -config.DefaultGroup = 3 // Should be a setting in the database -config.ActivationGroup = 5 // Should be a setting in the database -config.StaffCss = "staff_post" -config.UncategorisedForumVisible = true -config.MinifyTemplates = false -config.MultiServer = false // Experimental: Enable Cross-Server Synchronisation and several other features + // Misc + config.DefaultRoute = routeTopics + config.DefaultGroup = 3 // Should be a setting in the database + config.ActivationGroup = 5 // Should be a setting in the database + config.StaffCss = "staff_post" + config.UncategorisedForumVisible = true + config.MinifyTemplates = false + config.MultiServer = false // Experimental: Enable Cross-Server Synchronisation and several other features -//config.Noavatar = "https://api.adorable.io/avatars/{width}/{id}@{site_url}.png" -config.Noavatar = "https://api.adorable.io/avatars/285/{id}@{site_url}.png" -config.ItemsPerPage = 25 + //config.Noavatar = "https://api.adorable.io/avatars/{width}/{id}@{site_url}.png" + config.Noavatar = "https://api.adorable.io/avatars/285/{id}@{site_url}.png" + config.ItemsPerPage = 25 -// Developer flag -dev.DebugMode = true -//dev.SuperDebug = true -//dev.Profiling = true + // Developer flag + dev.DebugMode = true + //dev.SuperDebug = true + //dev.Profiling = true } diff --git a/gen_router.go b/gen_router.go index 1cffeae5..e58350e2 100644 --- a/gen_router.go +++ b/gen_router.go @@ -64,7 +64,7 @@ func (router *GenRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) { } if dev.SuperDebug { - log.Print("before route_static") + log.Print("before routeStatic") log.Print("prefix: ", prefix) log.Print("req.URL.Path: ", req.URL.Path) log.Print("extra_data: ", extra_data) @@ -73,7 +73,7 @@ func (router *GenRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) { if prefix == "/static" { req.URL.Path += extra_data - route_static(w,req) + routeStatic(w,req) return } @@ -93,135 +93,135 @@ func (router *GenRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) { switch(prefix) { case "/api": - route_api(w,req,user) + routeAPI(w,req,user) return case "/overview": - route_overview(w,req,user) + routeOverview(w,req,user) return case "/forums": - route_forums(w,req,user) + routeForums(w,req,user) return case "/forum": - route_forum(w,req,user,extra_data) + routeForum(w,req,user,extra_data) return case "/theme": - route_change_theme(w,req,user) + routeChangeTheme(w,req,user) return case "/report": switch(req.URL.Path) { case "/report/submit/": - route_report_submit(w,req,user,extra_data) + routeReportSubmit(w,req,user,extra_data) return } case "/topics": switch(req.URL.Path) { case "/topics/create/": - route_topic_create(w,req,user,extra_data) + routeTopicCreate(w,req,user,extra_data) return default: - route_topics(w,req,user) + routeTopics(w,req,user) return } case "/panel": switch(req.URL.Path) { case "/panel/forums/": - route_panel_forums(w,req,user) + routePanelForums(w,req,user) return case "/panel/forums/create/": - route_panel_forums_create_submit(w,req,user) + routePanelForumsCreateSubmit(w,req,user) return case "/panel/forums/delete/": - route_panel_forums_delete(w,req,user,extra_data) + routePanelForumsDelete(w,req,user,extra_data) return case "/panel/forums/delete/submit/": - route_panel_forums_delete_submit(w,req,user,extra_data) + routePanelForumsDeleteSubmit(w,req,user,extra_data) return case "/panel/forums/edit/": - route_panel_forums_edit(w,req,user,extra_data) + routePanelForumsEdit(w,req,user,extra_data) return case "/panel/forums/edit/submit/": - route_panel_forums_edit_submit(w,req,user,extra_data) + routePanelForumsEditSubmit(w,req,user,extra_data) return case "/panel/forums/edit/perms/submit/": - route_panel_forums_edit_perms_submit(w,req,user,extra_data) + routePanelForumsEditPermsSubmit(w,req,user,extra_data) return case "/panel/settings/": - route_panel_settings(w,req,user) + routePanelSettings(w,req,user) return case "/panel/settings/edit/": - route_panel_setting(w,req,user,extra_data) + routePanelSetting(w,req,user,extra_data) return case "/panel/settings/edit/submit/": - route_panel_setting_edit(w,req,user,extra_data) + routePanelSettingEdit(w,req,user,extra_data) return case "/panel/settings/word-filters/": - route_panel_word_filters(w,req,user) + routePanelWordFilters(w,req,user) return case "/panel/settings/word-filters/create/": - route_panel_word_filters_create(w,req,user) + routePanelWordFiltersCreate(w,req,user) return case "/panel/settings/word-filters/edit/": - route_panel_word_filters_edit(w,req,user,extra_data) + routePanelWordFiltersEdit(w,req,user,extra_data) return case "/panel/settings/word-filters/edit/submit/": - route_panel_word_filters_edit_submit(w,req,user,extra_data) + routePanelWordFiltersEditSubmit(w,req,user,extra_data) return case "/panel/settings/word-filters/delete/submit/": - route_panel_word_filters_delete_submit(w,req,user,extra_data) + routePanelWordFiltersDeleteSubmit(w,req,user,extra_data) return case "/panel/themes/": - route_panel_themes(w,req,user) + routePanelThemes(w,req,user) return case "/panel/themes/default/": - route_panel_themes_set_default(w,req,user,extra_data) + routePanelThemesSetDefault(w,req,user,extra_data) return case "/panel/plugins/": - route_panel_plugins(w,req,user) + routePanelPlugins(w,req,user) return case "/panel/plugins/activate/": - route_panel_plugins_activate(w,req,user,extra_data) + routePanelPluginsActivate(w,req,user,extra_data) return case "/panel/plugins/deactivate/": - route_panel_plugins_deactivate(w,req,user,extra_data) + routePanelPluginsDeactivate(w,req,user,extra_data) return case "/panel/plugins/install/": - route_panel_plugins_install(w,req,user,extra_data) + routePanelPluginsInstall(w,req,user,extra_data) return case "/panel/users/": - route_panel_users(w,req,user) + routePanelUsers(w,req,user) return case "/panel/users/edit/": - route_panel_users_edit(w,req,user,extra_data) + routePanelUsersEdit(w,req,user,extra_data) return case "/panel/users/edit/submit/": - route_panel_users_edit_submit(w,req,user,extra_data) + routePanelUsersEditSubmit(w,req,user,extra_data) return case "/panel/groups/": - route_panel_groups(w,req,user) + routePanelGroups(w,req,user) return case "/panel/groups/edit/": - route_panel_groups_edit(w,req,user,extra_data) + routePanelGroupsEdit(w,req,user,extra_data) return case "/panel/groups/edit/perms/": - route_panel_groups_edit_perms(w,req,user,extra_data) + routePanelGroupsEditPerms(w,req,user,extra_data) return case "/panel/groups/edit/submit/": - route_panel_groups_edit_submit(w,req,user,extra_data) + routePanelGroupsEditSubmit(w,req,user,extra_data) return case "/panel/groups/edit/perms/submit/": - route_panel_groups_edit_perms_submit(w,req,user,extra_data) + routePanelGroupsEditPermsSubmit(w,req,user,extra_data) return case "/panel/groups/create/": - route_panel_groups_create_submit(w,req,user) + routePanelGroupsCreateSubmit(w,req,user) return case "/panel/logs/mod/": - route_panel_logs_mod(w,req,user) + routePanelLogsMod(w,req,user) return case "/panel/debug/": - route_panel_debug(w,req,user) + routePanelDebug(w,req,user) return default: - route_panel(w,req,user) + routePanel(w,req,user) return } case "/uploads": @@ -237,7 +237,7 @@ func (router *GenRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) { // TODO: Add support for favicons and robots.txt files switch(extra_data) { case "robots.txt": - route_robots_txt(w,req) + routeRobotsTxt(w,req) return } diff --git a/install/install.go b/install/install.go index bc02196e..5a9c7b19 100644 --- a/install/install.go +++ b/install/install.go @@ -178,7 +178,7 @@ config.SmtpPassword = "" config.SmtpPort = "25" // Misc -config.DefaultRoute = route_topics +config.DefaultRoute = routeTopics config.DefaultGroup = 3 // Should be a setting in the database config.ActivationGroup = 5 // Should be a setting in the database config.StaffCss = "staff_post" diff --git a/langs/english.json b/langs/english.json index 73f7c2cb..795ad9e8 100644 --- a/langs/english.json +++ b/langs/english.json @@ -1,7 +1,7 @@ { "Name": "english", "Levels": { - "Level": "Level {0}", + "Level": "Level {0}", "LevelMax": "" }, "GlobalPerms": { diff --git a/main.go b/main.go index cf0992a6..d69c8c3e 100644 --- a/main.go +++ b/main.go @@ -204,60 +204,61 @@ func main() { log.Print("Initialising the router") router = NewGenRouter(http.FileServer(http.Dir("./uploads"))) - ///router.HandleFunc("/static/", route_static) - ///router.HandleFunc("/overview/", route_overview) - ///router.HandleFunc("/topics/create/", route_topic_create) - ///router.HandleFunc("/topics/", route_topics) - ///router.HandleFunc("/forums/", route_forums) - ///router.HandleFunc("/forum/", route_forum) - router.HandleFunc("/topic/create/submit/", route_topic_create_submit) - router.HandleFunc("/topic/", route_topic_id) - router.HandleFunc("/reply/create/", route_create_reply) - //router.HandleFunc("/reply/edit/", route_reply_edit) - //router.HandleFunc("/reply/delete/", route_reply_delete) - router.HandleFunc("/reply/edit/submit/", route_reply_edit_submit) - router.HandleFunc("/reply/delete/submit/", route_reply_delete_submit) - router.HandleFunc("/reply/like/submit/", route_reply_like_submit) + ////router.HandleFunc("/static/", routeStatic) + ////router.HandleFunc("/overview/", routeOverview) + ////router.HandleFunc("/topics/create/", routeTopicCreate) + ////router.HandleFunc("/topics/", routeTopics) + ////router.HandleFunc("/forums/", routeForums) + ////router.HandleFunc("/forum/", routeForum) + router.HandleFunc("/topic/create/submit/", routeTopicCreateSubmit) + router.HandleFunc("/topic/", routeTopicID) + router.HandleFunc("/reply/create/", routeCreateReply) + //router.HandleFunc("/reply/edit/", routeReplyEdit) + //router.HandleFunc("/reply/delete/", routeReplyDelete) + router.HandleFunc("/reply/edit/submit/", routeReplyEditSubmit) + router.HandleFunc("/reply/delete/submit/", routeReplyDeleteSubmit) + router.HandleFunc("/reply/like/submit/", routeReplyLikeSubmit) ///router.HandleFunc("/report/submit/", route_report_submit) - router.HandleFunc("/topic/edit/submit/", route_edit_topic) - router.HandleFunc("/topic/delete/submit/", route_delete_topic) - router.HandleFunc("/topic/stick/submit/", route_stick_topic) - router.HandleFunc("/topic/unstick/submit/", route_unstick_topic) - router.HandleFunc("/topic/like/submit/", route_like_topic) + router.HandleFunc("/topic/edit/submit/", routeEditTopic) + router.HandleFunc("/topic/delete/submit/", routeDeleteTopic) + router.HandleFunc("/topic/stick/submit/", routeStickTopic) + router.HandleFunc("/topic/unstick/submit/", routeUnstickTopic) + router.HandleFunc("/topic/like/submit/", routeLikeTopic) // Custom Pages - router.HandleFunc("/pages/", route_custom_page) + router.HandleFunc("/pages/", routeCustomPage) // Accounts - router.HandleFunc("/accounts/login/", route_login) - router.HandleFunc("/accounts/create/", route_register) - router.HandleFunc("/accounts/logout/", route_logout) - router.HandleFunc("/accounts/login/submit/", route_login_submit) - router.HandleFunc("/accounts/create/submit/", route_register_submit) + router.HandleFunc("/accounts/login/", routeLogin) + router.HandleFunc("/accounts/create/", routeRegister) + router.HandleFunc("/accounts/logout/", routeLogout) + router.HandleFunc("/accounts/login/submit/", routeLoginSubmit) + router.HandleFunc("/accounts/create/submit/", routeRegisterSubmit) - //router.HandleFunc("/accounts/list/", route_login) // Redirect /accounts/ and /user/ to here.. // Get a list of all of the accounts on the forum - //router.HandleFunc("/accounts/create/full/", route_logout) // Advanced account creator for admins? - //router.HandleFunc("/user/edit/", route_logout) - router.HandleFunc("/user/edit/critical/", route_account_own_edit_critical) // Password & Email - router.HandleFunc("/user/edit/critical/submit/", route_account_own_edit_critical_submit) - router.HandleFunc("/user/edit/avatar/", route_account_own_edit_avatar) - router.HandleFunc("/user/edit/avatar/submit/", route_account_own_edit_avatar_submit) - router.HandleFunc("/user/edit/username/", route_account_own_edit_username) - router.HandleFunc("/user/edit/username/submit/", route_account_own_edit_username_submit) - router.HandleFunc("/user/edit/email/", route_account_own_edit_email) - router.HandleFunc("/user/edit/token/", route_account_own_edit_email_token_submit) - router.HandleFunc("/user/", route_profile) - router.HandleFunc("/profile/reply/create/", route_profile_reply_create) - router.HandleFunc("/profile/reply/edit/submit/", route_profile_reply_edit_submit) - router.HandleFunc("/profile/reply/delete/submit/", route_profile_reply_delete_submit) - //router.HandleFunc("/user/edit/submit/", route_logout) // route_logout? what on earth? o.o - //router.HandleFunc("/users/ban/", route_ban) - router.HandleFunc("/users/ban/submit/", route_ban_submit) - router.HandleFunc("/users/unban/", route_unban) - router.HandleFunc("/users/activate/", route_activate) - router.HandleFunc("/users/ips/", route_ips) + //router.HandleFunc("/accounts/list/", routeLogin) // Redirect /accounts/ and /user/ to here.. // Get a list of all of the accounts on the forum + //router.HandleFunc("/accounts/create/full/", routeLogout) // Advanced account creator for admins? + //router.HandleFunc("/user/edit/", routeLogout) + router.HandleFunc("/user/edit/critical/", routeAccountOwnEditCritical) // Password & Email + router.HandleFunc("/user/edit/critical/submit/", routeAccountOwnEditCriticalSubmit) + router.HandleFunc("/user/edit/avatar/", routeAccountOwnEditAvatar) + router.HandleFunc("/user/edit/avatar/submit/", routeAccountOwnEditAvatarSubmit) + router.HandleFunc("/user/edit/username/", routeAccountOwnEditUsername) + router.HandleFunc("/user/edit/username/submit/", routeAccountOwnEditUsernameSubmit) + router.HandleFunc("/user/edit/email/", routeAccountOwnEditEmail) + router.HandleFunc("/user/edit/token/", routeAccountOwnEditEmailTokenSubmit) + router.HandleFunc("/user/", routeProfile) + router.HandleFunc("/profile/reply/create/", routeProfileReplyCreate) + router.HandleFunc("/profile/reply/edit/submit/", routeProfileReplyEditSubmit) + router.HandleFunc("/profile/reply/delete/submit/", routeProfileReplyDeleteSubmit) + //router.HandleFunc("/user/edit/submit/", routeLogout) // routeLogout? what on earth? o.o + //router.HandleFunc("/users/ban/", routeBan) + router.HandleFunc("/users/ban/submit/", routeBanSubmit) + router.HandleFunc("/users/unban/", routeUnban) + router.HandleFunc("/users/activate/", routeActivate) + router.HandleFunc("/users/ips/", routeIps) // The Control Panel + // TODO: Rename the commented route handlers to the new camelCase format :'( ///router.HandleFunc("/panel/", route_panel) ///router.HandleFunc("/panel/forums/", route_panel_forums) ///router.HandleFunc("/panel/forums/create/", route_panel_forums_create_submit) @@ -289,7 +290,7 @@ func main() { ///router.HandleFunc("/api/", route_api) //router.HandleFunc("/exit/", route_exit) ///router.HandleFunc("/", default_route) - router.HandleFunc("/ws/", route_websockets) + router.HandleFunc("/ws/", routeWebsockets) log.Print("Initialising the plugins") initPlugins() diff --git a/mod_routes.go b/mod_routes.go index 40a1b762..379b19ed 100644 --- a/mod_routes.go +++ b/mod_routes.go @@ -12,8 +12,8 @@ import ( // TODO: Update the stats after edits so that we don't under or over decrement stats during deletes // TODO: Disable stat updates in posts handled by plugin_socialgroups -func route_edit_topic(w http.ResponseWriter, r *http.Request, user User) { - //log.Print("in route_edit_topic") +func routeEditTopic(w http.ResponseWriter, r *http.Request, user User) { + //log.Print("in routeEditTopic") err := r.ParseForm() if err != nil { PreError("Bad Form", w, r) @@ -111,7 +111,7 @@ func route_edit_topic(w http.ResponseWriter, r *http.Request, user User) { } // TODO: Disable stat updates in posts handled by plugin_socialgroups -func route_delete_topic(w http.ResponseWriter, r *http.Request, user User) { +func routeDeleteTopic(w http.ResponseWriter, r *http.Request, user User) { tid, err := strconv.Atoi(r.URL.Path[len("/topic/delete/submit/"):]) if err != nil { PreError("The provided TopicID is not a valid number.", w, r) @@ -185,7 +185,7 @@ func route_delete_topic(w http.ResponseWriter, r *http.Request, user User) { topics.Remove(tid) } -func route_stick_topic(w http.ResponseWriter, r *http.Request, user User) { +func routeStickTopic(w http.ResponseWriter, r *http.Request, user User) { tid, err := strconv.Atoi(r.URL.Path[len("/topic/stick/submit/"):]) if err != nil { PreError("The provided TopicID is not a valid number.", w, r) @@ -241,7 +241,7 @@ func route_stick_topic(w http.ResponseWriter, r *http.Request, user User) { http.Redirect(w, r, "/topic/"+strconv.Itoa(tid), http.StatusSeeOther) } -func route_unstick_topic(w http.ResponseWriter, r *http.Request, user User) { +func routeUnstickTopic(w http.ResponseWriter, r *http.Request, user User) { tid, err := strconv.Atoi(r.URL.Path[len("/topic/unstick/submit/"):]) if err != nil { PreError("The provided TopicID is not a valid number.", w, r) @@ -299,7 +299,7 @@ func route_unstick_topic(w http.ResponseWriter, r *http.Request, user User) { // TODO: Disable stat updates in posts handled by plugin_socialgroups // TODO: Update the stats after edits so that we don't under or over decrement stats during deletes -func route_reply_edit_submit(w http.ResponseWriter, r *http.Request, user User) { +func routeReplyEditSubmit(w http.ResponseWriter, r *http.Request, user User) { err := r.ParseForm() if err != nil { PreError("Bad Form", w, r) @@ -356,7 +356,7 @@ func route_reply_edit_submit(w http.ResponseWriter, r *http.Request, user User) } // TODO: Disable stat updates in posts handled by plugin_socialgroups -func route_reply_delete_submit(w http.ResponseWriter, r *http.Request, user User) { +func routeReplyDeleteSubmit(w http.ResponseWriter, r *http.Request, user User) { err := r.ParseForm() if err != nil { PreError("Bad Form", w, r) @@ -446,7 +446,7 @@ func route_reply_delete_submit(w http.ResponseWriter, r *http.Request, user User } } -func route_profile_reply_edit_submit(w http.ResponseWriter, r *http.Request, user User) { +func routeProfileReplyEditSubmit(w http.ResponseWriter, r *http.Request, user User) { err := r.ParseForm() if err != nil { LocalError("Bad Form", w, r, user) @@ -487,7 +487,7 @@ func route_profile_reply_edit_submit(w http.ResponseWriter, r *http.Request, use } } -func route_profile_reply_delete_submit(w http.ResponseWriter, r *http.Request, user User) { +func routeProfileReplyDeleteSubmit(w http.ResponseWriter, r *http.Request, user User) { err := r.ParseForm() if err != nil { LocalError("Bad Form", w, r, user) @@ -530,7 +530,7 @@ func route_profile_reply_delete_submit(w http.ResponseWriter, r *http.Request, u } } -func route_ips(w http.ResponseWriter, r *http.Request, user User) { +func routeIps(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w, r, &user) if !ok { return @@ -635,7 +635,7 @@ func route_ips(w http.ResponseWriter, r *http.Request, user User) { } // TODO: This is being replaced with the new ban route system -/*func route_ban(w http.ResponseWriter, r *http.Request, user User) { +/*func routeBan(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w,r,&user) if !ok { return @@ -673,7 +673,7 @@ func route_ips(w http.ResponseWriter, r *http.Request, user User) { templates.ExecuteTemplate(w,"areyousure.html",pi) }*/ -func route_ban_submit(w http.ResponseWriter, r *http.Request, user User) { +func routeBanSubmit(w http.ResponseWriter, r *http.Request, user User) { if !user.Perms.BanUsers { NoPermissions(w, r, user) return @@ -768,7 +768,7 @@ func route_ban_submit(w http.ResponseWriter, r *http.Request, user User) { http.Redirect(w, r, "/user/"+strconv.Itoa(uid), http.StatusSeeOther) } -func route_unban(w http.ResponseWriter, r *http.Request, user User) { +func routeUnban(w http.ResponseWriter, r *http.Request, user User) { if !user.Perms.BanUsers { NoPermissions(w, r, user) return @@ -821,7 +821,7 @@ func route_unban(w http.ResponseWriter, r *http.Request, user User) { http.Redirect(w, r, "/user/"+strconv.Itoa(uid), http.StatusSeeOther) } -func route_activate(w http.ResponseWriter, r *http.Request, user User) { +func routeActivate(w http.ResponseWriter, r *http.Request, user User) { if !user.Perms.ActivateUsers { NoPermissions(w, r, user) return diff --git a/no_websockets.go b/no_websockets.go index bdddc091..c0abe425 100644 --- a/no_websockets.go +++ b/no_websockets.go @@ -35,5 +35,5 @@ func (hub *WS_Hub) pushAlerts(_ []int, _ int, _ string, _ string, _ int, _ int, return errWsNouser } -func route_websockets(_ http.ResponseWriter, _ *http.Request, _ User) { +func routeWebsockets(_ http.ResponseWriter, _ *http.Request, _ User) { } diff --git a/panel_routes.go b/panel_routes.go index 464464f4..2defe9d4 100644 --- a/panel_routes.go +++ b/panel_routes.go @@ -14,7 +14,7 @@ import ( "github.com/Azareal/gopsutil/mem" ) -func route_panel(w http.ResponseWriter, r *http.Request, user User) { +func routePanel(w http.ResponseWriter, r *http.Request, user User) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -180,7 +180,7 @@ func route_panel(w http.ResponseWriter, r *http.Request, user User) { } } -func route_panel_forums(w http.ResponseWriter, r *http.Request, user User) { +func routePanelForums(w http.ResponseWriter, r *http.Request, user User) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -218,7 +218,7 @@ func route_panel_forums(w http.ResponseWriter, r *http.Request, user User) { } } -func route_panel_forums_create_submit(w http.ResponseWriter, r *http.Request, user User) { +func routePanelForumsCreateSubmit(w http.ResponseWriter, r *http.Request, user User) { _, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -254,7 +254,7 @@ func route_panel_forums_create_submit(w http.ResponseWriter, r *http.Request, us } // TODO: Revamp this -func route_panel_forums_delete(w http.ResponseWriter, r *http.Request, user User, sfid string) { +func routePanelForumsDelete(w http.ResponseWriter, r *http.Request, user User, sfid string) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -298,7 +298,7 @@ func route_panel_forums_delete(w http.ResponseWriter, r *http.Request, user User } } -func route_panel_forums_delete_submit(w http.ResponseWriter, r *http.Request, user User, sfid string) { +func routePanelForumsDeleteSubmit(w http.ResponseWriter, r *http.Request, user User, sfid string) { _, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -330,7 +330,7 @@ func route_panel_forums_delete_submit(w http.ResponseWriter, r *http.Request, us http.Redirect(w, r, "/panel/forums/", http.StatusSeeOther) } -func route_panel_forums_edit(w http.ResponseWriter, r *http.Request, user User, sfid string) { +func routePanelForumsEdit(w http.ResponseWriter, r *http.Request, user User, sfid string) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -380,7 +380,7 @@ func route_panel_forums_edit(w http.ResponseWriter, r *http.Request, user User, } } -func route_panel_forums_edit_submit(w http.ResponseWriter, r *http.Request, user User, sfid string) { +func routePanelForumsEditSubmit(w http.ResponseWriter, r *http.Request, user User, sfid string) { _, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -463,7 +463,7 @@ func route_panel_forums_edit_submit(w http.ResponseWriter, r *http.Request, user } } -func route_panel_forums_edit_perms_submit(w http.ResponseWriter, r *http.Request, user User, sfid string) { +func routePanelForumsEditPermsSubmit(w http.ResponseWriter, r *http.Request, user User, sfid string) { _, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -542,7 +542,7 @@ func route_panel_forums_edit_perms_submit(w http.ResponseWriter, r *http.Request } } -func route_panel_settings(w http.ResponseWriter, r *http.Request, user User) { +func routePanelSettings(w http.ResponseWriter, r *http.Request, user User) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -607,7 +607,7 @@ func route_panel_settings(w http.ResponseWriter, r *http.Request, user User) { } } -func route_panel_setting(w http.ResponseWriter, r *http.Request, user User, sname string) { +func routePanelSetting(w http.ResponseWriter, r *http.Request, user User, sname string) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -658,7 +658,7 @@ func route_panel_setting(w http.ResponseWriter, r *http.Request, user User, snam } } -func route_panel_setting_edit(w http.ResponseWriter, r *http.Request, user User, sname string) { +func routePanelSettingEdit(w http.ResponseWriter, r *http.Request, user User, sname string) { headerLite, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -714,7 +714,7 @@ func route_panel_setting_edit(w http.ResponseWriter, r *http.Request, user User, http.Redirect(w, r, "/panel/settings/", http.StatusSeeOther) } -func route_panel_word_filters(w http.ResponseWriter, r *http.Request, user User) { +func routePanelWordFilters(w http.ResponseWriter, r *http.Request, user User) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -737,7 +737,7 @@ func route_panel_word_filters(w http.ResponseWriter, r *http.Request, user User) } } -func route_panel_word_filters_create(w http.ResponseWriter, r *http.Request, user User) { +func routePanelWordFiltersCreate(w http.ResponseWriter, r *http.Request, user User) { _, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -778,7 +778,7 @@ func route_panel_word_filters_create(w http.ResponseWriter, r *http.Request, use http.Redirect(w, r, "/panel/settings/word-filters/", http.StatusSeeOther) // TODO: Return json for JS? } -func route_panel_word_filters_edit(w http.ResponseWriter, r *http.Request, user User, wfid string) { +func routePanelWordFiltersEdit(w http.ResponseWriter, r *http.Request, user User, wfid string) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -802,7 +802,7 @@ func route_panel_word_filters_edit(w http.ResponseWriter, r *http.Request, user } } -func route_panel_word_filters_edit_submit(w http.ResponseWriter, r *http.Request, user User, wfid string) { +func routePanelWordFiltersEditSubmit(w http.ResponseWriter, r *http.Request, user User, wfid string) { _, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -848,7 +848,7 @@ func route_panel_word_filters_edit_submit(w http.ResponseWriter, r *http.Request http.Redirect(w, r, "/panel/settings/word-filters/", http.StatusSeeOther) } -func route_panel_word_filters_delete_submit(w http.ResponseWriter, r *http.Request, user User, wfid string) { +func routePanelWordFiltersDeleteSubmit(w http.ResponseWriter, r *http.Request, user User, wfid string) { _, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -884,7 +884,7 @@ func route_panel_word_filters_delete_submit(w http.ResponseWriter, r *http.Reque http.Redirect(w, r, "/panel/settings/word-filters/", http.StatusSeeOther) } -func route_panel_plugins(w http.ResponseWriter, r *http.Request, user User) { +func routePanelPlugins(w http.ResponseWriter, r *http.Request, user User) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -913,7 +913,7 @@ func route_panel_plugins(w http.ResponseWriter, r *http.Request, user User) { } } -func route_panel_plugins_activate(w http.ResponseWriter, r *http.Request, user User, uname string) { +func routePanelPluginsActivate(w http.ResponseWriter, r *http.Request, user User, uname string) { _, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -989,7 +989,7 @@ func route_panel_plugins_activate(w http.ResponseWriter, r *http.Request, user U http.Redirect(w, r, "/panel/plugins/", http.StatusSeeOther) } -func route_panel_plugins_deactivate(w http.ResponseWriter, r *http.Request, user User, uname string) { +func routePanelPluginsDeactivate(w http.ResponseWriter, r *http.Request, user User, uname string) { _, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -1037,7 +1037,7 @@ func route_panel_plugins_deactivate(w http.ResponseWriter, r *http.Request, user http.Redirect(w, r, "/panel/plugins/", http.StatusSeeOther) } -func route_panel_plugins_install(w http.ResponseWriter, r *http.Request, user User, uname string) { +func routePanelPluginsInstall(w http.ResponseWriter, r *http.Request, user User, uname string) { _, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -1123,7 +1123,7 @@ func route_panel_plugins_install(w http.ResponseWriter, r *http.Request, user Us http.Redirect(w, r, "/panel/plugins/", http.StatusSeeOther) } -func route_panel_users(w http.ResponseWriter, r *http.Request, user User) { +func routePanelUsers(w http.ResponseWriter, r *http.Request, user User) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -1185,7 +1185,7 @@ func route_panel_users(w http.ResponseWriter, r *http.Request, user User) { } } -func route_panel_users_edit(w http.ResponseWriter, r *http.Request, user User, suid string) { +func routePanelUsersEdit(w http.ResponseWriter, r *http.Request, user User, suid string) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -1239,7 +1239,7 @@ func route_panel_users_edit(w http.ResponseWriter, r *http.Request, user User, s } } -func route_panel_users_edit_submit(w http.ResponseWriter, r *http.Request, user User, suid string) { +func routePanelUsersEditSubmit(w http.ResponseWriter, r *http.Request, user User, suid string) { _, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -1334,7 +1334,7 @@ func route_panel_users_edit_submit(w http.ResponseWriter, r *http.Request, user http.Redirect(w, r, "/panel/users/edit/"+strconv.Itoa(targetUser.ID), http.StatusSeeOther) } -func route_panel_groups(w http.ResponseWriter, r *http.Request, user User) { +func routePanelGroups(w http.ResponseWriter, r *http.Request, user User) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -1396,7 +1396,7 @@ func route_panel_groups(w http.ResponseWriter, r *http.Request, user User) { } } -func route_panel_groups_edit(w http.ResponseWriter, r *http.Request, user User, sgid string) { +func routePanelGroupsEdit(w http.ResponseWriter, r *http.Request, user User, sgid string) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -1455,7 +1455,7 @@ func route_panel_groups_edit(w http.ResponseWriter, r *http.Request, user User, } } -func route_panel_groups_edit_perms(w http.ResponseWriter, r *http.Request, user User, sgid string) { +func routePanelGroupsEditPerms(w http.ResponseWriter, r *http.Request, user User, sgid string) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -1534,7 +1534,7 @@ func route_panel_groups_edit_perms(w http.ResponseWriter, r *http.Request, user } } -func route_panel_groups_edit_submit(w http.ResponseWriter, r *http.Request, user User, sgid string) { +func routePanelGroupsEditSubmit(w http.ResponseWriter, r *http.Request, user User, sgid string) { _, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -1666,7 +1666,7 @@ func route_panel_groups_edit_submit(w http.ResponseWriter, r *http.Request, user http.Redirect(w, r, "/panel/groups/edit/"+strconv.Itoa(gid), http.StatusSeeOther) } -func route_panel_groups_edit_perms_submit(w http.ResponseWriter, r *http.Request, user User, sgid string) { +func routePanelGroupsEditPermsSubmit(w http.ResponseWriter, r *http.Request, user User, sgid string) { _, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -1702,7 +1702,7 @@ func route_panel_groups_edit_perms_submit(w http.ResponseWriter, r *http.Request return } - //var lpmap map[string]bool = make(map[string]bool) + ////var lpmap map[string]bool = make(map[string]bool) var pmap = make(map[string]bool) if user.Perms.EditGroupLocalPerms { pplist := LocalPermList @@ -1712,7 +1712,7 @@ func route_panel_groups_edit_perms_submit(w http.ResponseWriter, r *http.Request } } - //var gpmap map[string]bool = make(map[string]bool) + ////var gpmap map[string]bool = make(map[string]bool) if user.Perms.EditGroupGlobalPerms { gplist := GlobalPermList for _, perm := range gplist { @@ -1742,7 +1742,7 @@ func route_panel_groups_edit_perms_submit(w http.ResponseWriter, r *http.Request http.Redirect(w, r, "/panel/groups/edit/perms/"+strconv.Itoa(gid), http.StatusSeeOther) } -func route_panel_groups_create_submit(w http.ResponseWriter, r *http.Request, user User) { +func routePanelGroupsCreateSubmit(w http.ResponseWriter, r *http.Request, user User) { _, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -1792,7 +1792,7 @@ func route_panel_groups_create_submit(w http.ResponseWriter, r *http.Request, us http.Redirect(w, r, "/panel/groups/edit/"+strconv.Itoa(gid), http.StatusSeeOther) } -func route_panel_themes(w http.ResponseWriter, r *http.Request, user User) { +func routePanelThemes(w http.ResponseWriter, r *http.Request, user User) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -1827,7 +1827,7 @@ func route_panel_themes(w http.ResponseWriter, r *http.Request, user User) { } } -func route_panel_themes_set_default(w http.ResponseWriter, r *http.Request, user User, uname string) { +func routePanelThemesSetDefault(w http.ResponseWriter, r *http.Request, user User, uname string) { _, ok := SimplePanelUserCheck(w, r, &user) if !ok { return @@ -1908,7 +1908,7 @@ func route_panel_themes_set_default(w http.ResponseWriter, r *http.Request, user http.Redirect(w, r, "/panel/themes/", http.StatusSeeOther) } -func route_panel_logs_mod(w http.ResponseWriter, r *http.Request, user User) { +func routePanelLogsMod(w http.ResponseWriter, r *http.Request, user User) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return @@ -2024,7 +2024,7 @@ func route_panel_logs_mod(w http.ResponseWriter, r *http.Request, user User) { } } -func route_panel_debug(w http.ResponseWriter, r *http.Request, user User) { +func routePanelDebug(w http.ResponseWriter, r *http.Request, user User) { headerVars, stats, ok := PanelUserCheck(w, r, &user) if !ok { return diff --git a/phrases.go b/phrases.go index c5221890..e5390388 100644 --- a/phrases.go +++ b/phrases.go @@ -23,7 +23,7 @@ var currentLanguage = "english" var currentLangPack atomic.Value var langpackCount int // TODO: Use atomics for this -// We'll be implementing the level phrases in the software proper very very soon! +// TODO: We'll be implementing the level phrases in the software proper very very soon! type LevelPhrases struct { Level string LevelMax string // ? Add a max level setting? @@ -32,6 +32,7 @@ type LevelPhrases struct { Levels []string // index = level } +// ! For the sake of thread safety, you must never modify a *LanguagePack directly, but to create a copy of it and overwrite the entry in the sync.Map type LanguagePack struct { Name string Phrases map[string]string // Should we use a sync map or a struct for these? It would be nice, if we could keep all the phrases consistent. @@ -42,7 +43,6 @@ type LanguagePack struct { } // TODO: Add the ability to edit language JSON files from the Control Panel and automatically scan the files for changes -// TODO: Move the english language pack into a JSON file and load that on start-up ////var langpacks = map[string]*LanguagePack var langpacks sync.Map // nolint it is used @@ -94,12 +94,18 @@ func initPhrases() error { return nil } +// TODO: Implement this func LoadLangPack(name string) error { _ = name return nil } -// We might not need to use a mutex for this, we shouldn't need to change the phrases after start-up, and when we do we could overwrite the entire map +// TODO: Implement this +func SaveLangPack(langPack *LanguagePack) error { + _ = langPack + return nil +} + func GetPhrase(name string) (string, bool) { res, ok := currentLangPack.Load().(*LanguagePack).Phrases[name] return res, ok @@ -129,12 +135,12 @@ func GetSettingLabel(name string) string { return res } -// Is this a copy of the map or a pointer to it? We don't want to accidentally create a race condition func GetAllSettingLabels() map[string]string { return currentLangPack.Load().(*LanguagePack).SettingLabels } -// Use runtime reflection for updating phrases? +// ? - Use runtime reflection for updating phrases? +// TODO: Implement these func AddPhrase() { } diff --git a/plugin_socialgroups.go b/plugin_socialgroups.go index a4db7435..ae54db21 100644 --- a/plugin_socialgroups.go +++ b/plugin_socialgroups.go @@ -346,9 +346,9 @@ func socialgroupsViewGroup(w http.ResponseWriter, r *http.Request, user User) { NotFound(w, r) } - // Re-route the request to route_forums + // Re-route the request to routeForums var ctx = context.WithValue(r.Context(), "socialgroups_current_group", sgItem) - route_forum(w, r.WithContext(ctx), user, strconv.Itoa(sgItem.MainForumID)) + routeForum(w, r.WithContext(ctx), user, strconv.Itoa(sgItem.MainForumID)) } func socialgroupsCreateGroup(w http.ResponseWriter, r *http.Request, user User) { diff --git a/router_gen/main.go b/router_gen/main.go index 32f1fd3c..8f7c77c8 100644 --- a/router_gen/main.go +++ b/router_gen/main.go @@ -142,7 +142,7 @@ func (router *GenRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) { } if dev.SuperDebug { - log.Print("before route_static") + log.Print("before routeStatic") log.Print("prefix: ", prefix) log.Print("req.URL.Path: ", req.URL.Path) log.Print("extra_data: ", extra_data) @@ -151,7 +151,7 @@ func (router *GenRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) { if prefix == "/static" { req.URL.Path += extra_data - route_static(w,req) + routeStatic(w,req) return } @@ -183,7 +183,7 @@ func (router *GenRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) { // TODO: Add support for favicons and robots.txt files switch(extra_data) { case "robots.txt": - route_robots_txt(w,req) + routeRobotsTxt(w,req) return } diff --git a/router_gen/routes.go b/router_gen/routes.go index 3aeaaacb..4fd5a8ba 100644 --- a/router_gen/routes.go +++ b/router_gen/routes.go @@ -22,66 +22,66 @@ func addRouteGroup(path string, routes ...Route) { func routes() { //addRoute("default_route","","") - addRoute("route_api", "/api/", "") - ///addRoute("route_static","/static/","req.URL.Path += extra_data") - addRoute("route_overview", "/overview/", "") - //addRoute("route_custom_page","/pages/",""/*,"&extra_data"*/) - addRoute("route_forums", "/forums/", "" /*,"&forums"*/) - addRoute("route_forum", "/forum/", "", "extra_data") - //addRoute("route_topic_create","/topics/create/","","extra_data") - //addRoute("route_topics","/topics/",""/*,"&groups","&forums"*/) - addRoute("route_change_theme", "/theme/", "") + addRoute("routeAPI", "/api/", "") + ///addRoute("routeStatic","/static/","req.URL.Path += extra_data") + addRoute("routeOverview", "/overview/", "") + //addRoute("routeCustomPage","/pages/",""/*,"&extra_data"*/) + addRoute("routeForums", "/forums/", "" /*,"&forums"*/) + addRoute("routeForum", "/forum/", "", "extra_data") + //addRoute("routeTopicCreate","/topics/create/","","extra_data") + //addRoute("routeTopics","/topics/",""/*,"&groups","&forums"*/) + addRoute("routeChangeTheme", "/theme/", "") addRouteGroup("/report/", - Route{"route_report_submit", "/report/submit/", "", []string{"extra_data"}}, + Route{"routeReportSubmit", "/report/submit/", "", []string{"extra_data"}}, ) addRouteGroup("/topics/", - Route{"route_topics", "/topics/", "", []string{}}, - Route{"route_topic_create", "/topics/create/", "", []string{"extra_data"}}, + Route{"routeTopics", "/topics/", "", []string{}}, + Route{"routeTopicCreate", "/topics/create/", "", []string{"extra_data"}}, ) // The Control Panel addRouteGroup("/panel/", - Route{"route_panel", "/panel/", "", []string{}}, - Route{"route_panel_forums", "/panel/forums/", "", []string{}}, - Route{"route_panel_forums_create_submit", "/panel/forums/create/", "", []string{}}, - Route{"route_panel_forums_delete", "/panel/forums/delete/", "", []string{"extra_data"}}, - Route{"route_panel_forums_delete_submit", "/panel/forums/delete/submit/", "", []string{"extra_data"}}, - Route{"route_panel_forums_edit", "/panel/forums/edit/", "", []string{"extra_data"}}, - Route{"route_panel_forums_edit_submit", "/panel/forums/edit/submit/", "", []string{"extra_data"}}, - Route{"route_panel_forums_edit_perms_submit", "/panel/forums/edit/perms/submit/", "", []string{"extra_data"}}, + Route{"routePanel", "/panel/", "", []string{}}, + Route{"routePanelForums", "/panel/forums/", "", []string{}}, + Route{"routePanelForumsCreateSubmit", "/panel/forums/create/", "", []string{}}, + Route{"routePanelForumsDelete", "/panel/forums/delete/", "", []string{"extra_data"}}, + Route{"routePanelForumsDeleteSubmit", "/panel/forums/delete/submit/", "", []string{"extra_data"}}, + Route{"routePanelForumsEdit", "/panel/forums/edit/", "", []string{"extra_data"}}, + Route{"routePanelForumsEditSubmit", "/panel/forums/edit/submit/", "", []string{"extra_data"}}, + Route{"routePanelForumsEditPermsSubmit", "/panel/forums/edit/perms/submit/", "", []string{"extra_data"}}, - Route{"route_panel_settings", "/panel/settings/", "", []string{}}, - Route{"route_panel_setting", "/panel/settings/edit/", "", []string{"extra_data"}}, - Route{"route_panel_setting_edit", "/panel/settings/edit/submit/", "", []string{"extra_data"}}, + Route{"routePanelSettings", "/panel/settings/", "", []string{}}, + Route{"routePanelSetting", "/panel/settings/edit/", "", []string{"extra_data"}}, + Route{"routePanelSettingEdit", "/panel/settings/edit/submit/", "", []string{"extra_data"}}, - Route{"route_panel_word_filters", "/panel/settings/word-filters/", "", []string{}}, - Route{"route_panel_word_filters_create", "/panel/settings/word-filters/create/", "", []string{}}, - Route{"route_panel_word_filters_edit", "/panel/settings/word-filters/edit/", "", []string{"extra_data"}}, - Route{"route_panel_word_filters_edit_submit", "/panel/settings/word-filters/edit/submit/", "", []string{"extra_data"}}, - Route{"route_panel_word_filters_delete_submit", "/panel/settings/word-filters/delete/submit/", "", []string{"extra_data"}}, + Route{"routePanelWordFilters", "/panel/settings/word-filters/", "", []string{}}, + Route{"routePanelWordFiltersCreate", "/panel/settings/word-filters/create/", "", []string{}}, + Route{"routePanelWordFiltersEdit", "/panel/settings/word-filters/edit/", "", []string{"extra_data"}}, + Route{"routePanelWordFiltersEditSubmit", "/panel/settings/word-filters/edit/submit/", "", []string{"extra_data"}}, + Route{"routePanelWordFiltersDeleteSubmit", "/panel/settings/word-filters/delete/submit/", "", []string{"extra_data"}}, - Route{"route_panel_themes", "/panel/themes/", "", []string{}}, - Route{"route_panel_themes_set_default", "/panel/themes/default/", "", []string{"extra_data"}}, + Route{"routePanelThemes", "/panel/themes/", "", []string{}}, + Route{"routePanelThemesSetDefault", "/panel/themes/default/", "", []string{"extra_data"}}, - Route{"route_panel_plugins", "/panel/plugins/", "", []string{}}, - Route{"route_panel_plugins_activate", "/panel/plugins/activate/", "", []string{"extra_data"}}, - Route{"route_panel_plugins_deactivate", "/panel/plugins/deactivate/", "", []string{"extra_data"}}, - Route{"route_panel_plugins_install", "/panel/plugins/install/", "", []string{"extra_data"}}, + Route{"routePanelPlugins", "/panel/plugins/", "", []string{}}, + Route{"routePanelPluginsActivate", "/panel/plugins/activate/", "", []string{"extra_data"}}, + Route{"routePanelPluginsDeactivate", "/panel/plugins/deactivate/", "", []string{"extra_data"}}, + Route{"routePanelPluginsInstall", "/panel/plugins/install/", "", []string{"extra_data"}}, - Route{"route_panel_users", "/panel/users/", "", []string{}}, - Route{"route_panel_users_edit", "/panel/users/edit/", "", []string{"extra_data"}}, - Route{"route_panel_users_edit_submit", "/panel/users/edit/submit/", "", []string{"extra_data"}}, + Route{"routePanelUsers", "/panel/users/", "", []string{}}, + Route{"routePanelUsersEdit", "/panel/users/edit/", "", []string{"extra_data"}}, + Route{"routePanelUsersEditSubmit", "/panel/users/edit/submit/", "", []string{"extra_data"}}, - Route{"route_panel_groups", "/panel/groups/", "", []string{}}, - Route{"route_panel_groups_edit", "/panel/groups/edit/", "", []string{"extra_data"}}, - Route{"route_panel_groups_edit_perms", "/panel/groups/edit/perms/", "", []string{"extra_data"}}, - Route{"route_panel_groups_edit_submit", "/panel/groups/edit/submit/", "", []string{"extra_data"}}, - Route{"route_panel_groups_edit_perms_submit", "/panel/groups/edit/perms/submit/", "", []string{"extra_data"}}, - Route{"route_panel_groups_create_submit", "/panel/groups/create/", "", []string{}}, + Route{"routePanelGroups", "/panel/groups/", "", []string{}}, + Route{"routePanelGroupsEdit", "/panel/groups/edit/", "", []string{"extra_data"}}, + Route{"routePanelGroupsEditPerms", "/panel/groups/edit/perms/", "", []string{"extra_data"}}, + Route{"routePanelGroupsEditSubmit", "/panel/groups/edit/submit/", "", []string{"extra_data"}}, + Route{"routePanelGroupsEditPermsSubmit", "/panel/groups/edit/perms/submit/", "", []string{"extra_data"}}, + Route{"routePanelGroupsCreateSubmit", "/panel/groups/create/", "", []string{}}, - Route{"route_panel_logs_mod", "/panel/logs/mod/", "", []string{}}, - Route{"route_panel_debug", "/panel/debug/", "", []string{}}, + Route{"routePanelLogsMod", "/panel/logs/mod/", "", []string{}}, + Route{"routePanelDebug", "/panel/debug/", "", []string{}}, ) } diff --git a/routes.go b/routes.go index c1b0d6c4..2e7120ac 100644 --- a/routes.go +++ b/routes.go @@ -47,7 +47,7 @@ func (red *HTTPSRedirect) ServeHTTP(w http.ResponseWriter, req *http.Request) { } // GET functions -func route_static(w http.ResponseWriter, r *http.Request) { +func routeStatic(w http.ResponseWriter, r *http.Request) { //log.Print("Outputting static file '" + r.URL.Path + "'") file, ok := staticFiles[r.URL.Path] if !ok { @@ -94,7 +94,7 @@ func route_fstatic(w http.ResponseWriter, r *http.Request){ // TODO: Make this a static file somehow? Is it possible for us to put this file somewhere else? // TODO: Add a sitemap // TODO: Add an API so that plugins can register disallowed areas. E.g. /groups/join for plugin_socialgroups -func route_robots_txt(w http.ResponseWriter, r *http.Request) { +func routeRobotsTxt(w http.ResponseWriter, r *http.Request) { _, _ = w.Write([]byte(`User-agent: * Disallow: /panel/ Disallow: /topics/create/ @@ -103,7 +103,7 @@ Disallow: /accounts/ `)) } -func route_overview(w http.ResponseWriter, r *http.Request, user User) { +func routeOverview(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w, r, &user) if !ok { return @@ -123,7 +123,7 @@ func route_overview(w http.ResponseWriter, r *http.Request, user User) { } } -func route_custom_page(w http.ResponseWriter, r *http.Request, user User) { +func routeCustomPage(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w, r, &user) if !ok { return @@ -150,7 +150,7 @@ func route_custom_page(w http.ResponseWriter, r *http.Request, user User) { } // TODO: Paginate this -func route_topics(w http.ResponseWriter, r *http.Request, user User) { +func routeTopics(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w, r, &user) if !ok { return @@ -256,7 +256,7 @@ func route_topics(w http.ResponseWriter, r *http.Request, user User) { RunThemeTemplate(headerVars.ThemeName, "topics", pi, w) } -func route_forum(w http.ResponseWriter, r *http.Request, user User, sfid string) { +func routeForum(w http.ResponseWriter, r *http.Request, user User, sfid string) { page, _ := strconv.Atoi(r.FormValue("page")) // SEO URLs... @@ -371,7 +371,7 @@ func route_forum(w http.ResponseWriter, r *http.Request, user User, sfid string) RunThemeTemplate(headerVars.ThemeName, "forum", pi, w) } -func route_forums(w http.ResponseWriter, r *http.Request, user User) { +func routeForums(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w, r, &user) if !ok { return @@ -423,7 +423,7 @@ func route_forums(w http.ResponseWriter, r *http.Request, user User) { RunThemeTemplate(headerVars.ThemeName, "forums", pi, w) } -func route_topic_id(w http.ResponseWriter, r *http.Request, user User) { +func routeTopicID(w http.ResponseWriter, r *http.Request, user User) { var err error var page, offset int var replyList []Reply @@ -604,7 +604,7 @@ func route_topic_id(w http.ResponseWriter, r *http.Request, user User) { RunThemeTemplate(headerVars.ThemeName, "topic", tpage, w) } -func route_profile(w http.ResponseWriter, r *http.Request, user User) { +func routeProfile(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w, r, &user) if !ok { return @@ -703,7 +703,7 @@ func route_profile(w http.ResponseWriter, r *http.Request, user User) { template_profile_handle(ppage, w) } -func route_topic_create(w http.ResponseWriter, r *http.Request, user User, sfid string) { +func routeTopicCreate(w http.ResponseWriter, r *http.Request, user User, sfid string) { var fid int var err error if sfid != "" { @@ -776,7 +776,7 @@ func route_topic_create(w http.ResponseWriter, r *http.Request, user User, sfid } // POST functions. Authorised users only. -func route_topic_create_submit(w http.ResponseWriter, r *http.Request, user User) { +func routeTopicCreateSubmit(w http.ResponseWriter, r *http.Request, user User) { err := r.ParseForm() if err != nil { PreError("Bad Form", w, r) @@ -844,7 +844,7 @@ func route_topic_create_submit(w http.ResponseWriter, r *http.Request, user User } } -func route_create_reply(w http.ResponseWriter, r *http.Request, user User) { +func routeCreateReply(w http.ResponseWriter, r *http.Request, user User) { err := r.ParseForm() if err != nil { PreError("Bad Form", w, r) @@ -940,7 +940,7 @@ func route_create_reply(w http.ResponseWriter, r *http.Request, user User) { } } -func route_like_topic(w http.ResponseWriter, r *http.Request, user User) { +func routeLikeTopic(w http.ResponseWriter, r *http.Request, user User) { err := r.ParseForm() if err != nil { PreError("Bad Form", w, r) @@ -1041,7 +1041,7 @@ func route_like_topic(w http.ResponseWriter, r *http.Request, user User) { http.Redirect(w, r, "/topic/"+strconv.Itoa(tid), http.StatusSeeOther) } -func route_reply_like_submit(w http.ResponseWriter, r *http.Request, user User) { +func routeReplyLikeSubmit(w http.ResponseWriter, r *http.Request, user User) { err := r.ParseForm() if err != nil { PreError("Bad Form", w, r) @@ -1142,7 +1142,7 @@ func route_reply_like_submit(w http.ResponseWriter, r *http.Request, user User) http.Redirect(w, r, "/topic/"+strconv.Itoa(reply.ParentID), http.StatusSeeOther) } -func route_profile_reply_create(w http.ResponseWriter, r *http.Request, user User) { +func routeProfileReplyCreate(w http.ResponseWriter, r *http.Request, user User) { if !user.Loggedin || !user.Perms.CreateReply { NoPermissions(w, r, user) return @@ -1184,7 +1184,7 @@ func route_profile_reply_create(w http.ResponseWriter, r *http.Request, user Use http.Redirect(w, r, "/user/"+strconv.Itoa(uid), http.StatusSeeOther) } -func route_report_submit(w http.ResponseWriter, r *http.Request, user User, sitemID string) { +func routeReportSubmit(w http.ResponseWriter, r *http.Request, user User, sitemID string) { if !user.Loggedin { LoginRequired(w, r, user) return @@ -1321,7 +1321,7 @@ func route_report_submit(w http.ResponseWriter, r *http.Request, user User, site http.Redirect(w, r, "/topic/"+strconv.FormatInt(lastID, 10), http.StatusSeeOther) } -func route_account_own_edit_critical(w http.ResponseWriter, r *http.Request, user User) { +func routeAccountOwnEditCritical(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w, r, &user) if !ok { return @@ -1340,7 +1340,7 @@ func route_account_own_edit_critical(w http.ResponseWriter, r *http.Request, use templates.ExecuteTemplate(w, "account-own-edit.html", pi) } -func route_account_own_edit_critical_submit(w http.ResponseWriter, r *http.Request, user User) { +func routeAccountOwnEditCriticalSubmit(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w, r, &user) if !ok { return @@ -1397,7 +1397,7 @@ func route_account_own_edit_critical_submit(w http.ResponseWriter, r *http.Reque templates.ExecuteTemplate(w, "account-own-edit.html", pi) } -func route_account_own_edit_avatar(w http.ResponseWriter, r *http.Request, user User) { +func routeAccountOwnEditAvatar(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w, r, &user) if !ok { return @@ -1415,7 +1415,7 @@ func route_account_own_edit_avatar(w http.ResponseWriter, r *http.Request, user templates.ExecuteTemplate(w, "account-own-edit-avatar.html", pi) } -func route_account_own_edit_avatar_submit(w http.ResponseWriter, r *http.Request, user User) { +func routeAccountOwnEditAvatarSubmit(w http.ResponseWriter, r *http.Request, user User) { if r.ContentLength > int64(config.MaxRequestSize) { http.Error(w, "Request too large", http.StatusExpectationFailed) return @@ -1513,7 +1513,7 @@ func route_account_own_edit_avatar_submit(w http.ResponseWriter, r *http.Request templates.ExecuteTemplate(w, "account-own-edit-avatar.html", pi) } -func route_account_own_edit_username(w http.ResponseWriter, r *http.Request, user User) { +func routeAccountOwnEditUsername(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w, r, &user) if !ok { return @@ -1531,7 +1531,7 @@ func route_account_own_edit_username(w http.ResponseWriter, r *http.Request, use templates.ExecuteTemplate(w, "account-own-edit-username.html", pi) } -func route_account_own_edit_username_submit(w http.ResponseWriter, r *http.Request, user User) { +func routeAccountOwnEditUsernameSubmit(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w, r, &user) if !ok { return @@ -1571,7 +1571,7 @@ func route_account_own_edit_username_submit(w http.ResponseWriter, r *http.Reque templates.ExecuteTemplate(w, "account-own-edit-username.html", pi) } -func route_account_own_edit_email(w http.ResponseWriter, r *http.Request, user User) { +func routeAccountOwnEditEmail(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w, r, &user) if !ok { return @@ -1626,7 +1626,7 @@ func route_account_own_edit_email(w http.ResponseWriter, r *http.Request, user U templates.ExecuteTemplate(w, "account-own-edit-email.html", pi) } -func route_account_own_edit_email_token_submit(w http.ResponseWriter, r *http.Request, user User) { +func routeAccountOwnEditEmailTokenSubmit(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w, r, &user) if !ok { return @@ -1706,7 +1706,7 @@ func route_account_own_edit_email_token_submit(w http.ResponseWriter, r *http.Re } // TODO: Move this into member_routes.go -func route_logout(w http.ResponseWriter, r *http.Request, user User) { +func routeLogout(w http.ResponseWriter, r *http.Request, user User) { if !user.Loggedin { LocalError("You can't logout without logging in first.", w, r, user) return @@ -1715,7 +1715,7 @@ func route_logout(w http.ResponseWriter, r *http.Request, user User) { http.Redirect(w, r, "/", http.StatusSeeOther) } -func route_login(w http.ResponseWriter, r *http.Request, user User) { +func routeLogin(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w, r, &user) if !ok { return @@ -1736,7 +1736,7 @@ func route_login(w http.ResponseWriter, r *http.Request, user User) { // TODO: Log failed attempted logins? // TODO: Lock IPS out if they have too many failed attempts? // TODO: Log unusual countries in comparison to the country a user usually logs in from? Alert the user about this? -func route_login_submit(w http.ResponseWriter, r *http.Request, user User) { +func routeLoginSubmit(w http.ResponseWriter, r *http.Request, user User) { if user.Loggedin { LocalError("You're already logged in.", w, r, user) return @@ -1784,7 +1784,7 @@ func route_login_submit(w http.ResponseWriter, r *http.Request, user User) { http.Redirect(w, r, "/", http.StatusSeeOther) } -func route_register(w http.ResponseWriter, r *http.Request, user User) { +func routeRegister(w http.ResponseWriter, r *http.Request, user User) { headerVars, ok := UserCheck(w, r, &user) if !ok { return @@ -1802,7 +1802,7 @@ func route_register(w http.ResponseWriter, r *http.Request, user User) { templates.ExecuteTemplate(w, "register.html", pi) } -func route_register_submit(w http.ResponseWriter, r *http.Request, user User) { +func routeRegisterSubmit(w http.ResponseWriter, r *http.Request, user User) { headerLite, _ := SimpleUserCheck(w, r, &user) err := r.ParseForm() @@ -1901,7 +1901,7 @@ func route_register_submit(w http.ResponseWriter, r *http.Request, user User) { } // TODO: Set the cookie domain -func route_change_theme(w http.ResponseWriter, r *http.Request, user User) { +func routeChangeTheme(w http.ResponseWriter, r *http.Request, user User) { //headerLite, _ := SimpleUserCheck(w, r, &user) err := r.ParseForm() if err != nil { @@ -1943,7 +1943,7 @@ func route_change_theme(w http.ResponseWriter, r *http.Request, user User) { // TODO: We don't need support XML here to support sitemaps, we could handle those elsewhere var phraseLoginAlerts = []byte(`{"msgs":[{"msg":"Login to see your alerts","path":"/accounts/login"}]}`) -func route_api(w http.ResponseWriter, r *http.Request, user User) { +func routeAPI(w http.ResponseWriter, r *http.Request, user User) { w.Header().Set("Content-Type", "application/json") err := r.ParseForm() if err != nil { diff --git a/site.go b/site.go index 2125078a..c0b2dbab 100644 --- a/site.go +++ b/site.go @@ -2,6 +2,8 @@ package main import "net/http" +// TODO: Add a langPack configuration item or setting + var site = &Site{Name: "Magical Fairy Land"} var db_config = DB_Config{Host: "localhost"} var config Config diff --git a/websockets.go b/websockets.go index b285850f..3bdc28ef 100644 --- a/websockets.go +++ b/websockets.go @@ -155,7 +155,7 @@ func (hub *WS_Hub) pushAlerts(users []int, asid int, event string, elementType s return nil } -func route_websockets(w http.ResponseWriter, r *http.Request, user User) { +func routeWebsockets(w http.ResponseWriter, r *http.Request, user User) { conn, err := wsUpgrader.Upgrade(w, r, nil) if err != nil { return