summaryrefslogtreecommitdiffstats
path: root/routers/user/setting
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2020-12-04 07:20:30 +0100
committerGitHub <noreply@github.com>2020-12-04 08:20:30 +0200
commit48a3bb7a32bb4e7e5a31cfeb4ca324621c417527 (patch)
tree8cab01bb2a7b48c323c11ddcd574f67283a0468c /routers/user/setting
parent3512c7e40f0b06f9f495a919e0d4925e5688e2da (diff)
downloadgitea-48a3bb7a32bb4e7e5a31cfeb4ca324621c417527.tar.gz
gitea-48a3bb7a32bb4e7e5a31cfeb4ca324621c417527.zip
User Settings: Ignore empty language codes & validate (#13755)
Diffstat (limited to 'routers/user/setting')
-rw-r--r--routers/user/setting/profile.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/routers/user/setting/profile.go b/routers/user/setting/profile.go
index 6653230a39..74cc96cb85 100644
--- a/routers/user/setting/profile.go
+++ b/routers/user/setting/profile.go
@@ -19,6 +19,7 @@ import (
"code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
+ "code.gitea.io/gitea/modules/util"
"github.com/unknwon/i18n"
)
@@ -94,7 +95,14 @@ func ProfilePost(ctx *context.Context, form auth.UpdateProfileForm) {
ctx.User.KeepEmailPrivate = form.KeepEmailPrivate
ctx.User.Website = form.Website
ctx.User.Location = form.Location
- ctx.User.Language = form.Language
+ if len(form.Language) != 0 {
+ if !util.IsStringInSlice(form.Language, setting.Langs) {
+ ctx.Flash.Error(ctx.Tr("settings.update_language_not_found", form.Language))
+ ctx.Redirect(setting.AppSubURL + "/user/settings")
+ return
+ }
+ ctx.User.Language = form.Language
+ }
ctx.User.Description = form.Description
ctx.User.KeepActivityPrivate = form.KeepActivityPrivate
if err := models.UpdateUserSetting(ctx.User); err != nil {