mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 03:25:11 +01:00 
			
		
		
		
	Rename ctx.Form() to ctx.FormString() and move code into own file (#16571)
Followup from #16562 prepare for #16567 * Rename ctx.Form() to ctx.FormString() * Reimplement FormX func to need less code and cpu cycles * Move code into own file
This commit is contained in:
		
							parent
							
								
									2eeae4edb6
								
							
						
					
					
						commit
						c4d70a0325
					
				| @ -28,7 +28,6 @@ import ( | ||||
| 	"code.gitea.io/gitea/modules/setting" | ||||
| 	"code.gitea.io/gitea/modules/templates" | ||||
| 	"code.gitea.io/gitea/modules/translation" | ||||
| 	"code.gitea.io/gitea/modules/util" | ||||
| 	"code.gitea.io/gitea/modules/web/middleware" | ||||
| 	"code.gitea.io/gitea/services/auth" | ||||
| 
 | ||||
| @ -287,41 +286,6 @@ func (ctx *Context) Header() http.Header { | ||||
| 	return ctx.Resp.Header() | ||||
| } | ||||
| 
 | ||||
| // Form returns request form as string with default | ||||
| func (ctx *Context) Form(key string, defaults ...string) string { | ||||
| 	return (*Forms)(ctx.Req).MustString(key, defaults...) | ||||
| } | ||||
| 
 | ||||
| // FormTrim returns request form as string with default and trimmed spaces | ||||
| func (ctx *Context) FormTrim(key string, defaults ...string) string { | ||||
| 	return (*Forms)(ctx.Req).MustTrimmed(key, defaults...) | ||||
| } | ||||
| 
 | ||||
| // FormStrings returns request form as strings with default | ||||
| func (ctx *Context) FormStrings(key string, defaults ...[]string) []string { | ||||
| 	return (*Forms)(ctx.Req).MustStrings(key, defaults...) | ||||
| } | ||||
| 
 | ||||
| // FormInt returns request form as int with default | ||||
| func (ctx *Context) FormInt(key string, defaults ...int) int { | ||||
| 	return (*Forms)(ctx.Req).MustInt(key, defaults...) | ||||
| } | ||||
| 
 | ||||
| // FormInt64 returns request form as int64 with default | ||||
| func (ctx *Context) FormInt64(key string, defaults ...int64) int64 { | ||||
| 	return (*Forms)(ctx.Req).MustInt64(key, defaults...) | ||||
| } | ||||
| 
 | ||||
| // FormBool returns request form as bool with default | ||||
| func (ctx *Context) FormBool(key string, defaults ...bool) bool { | ||||
| 	return (*Forms)(ctx.Req).MustBool(key, defaults...) | ||||
| } | ||||
| 
 | ||||
| // FormOptionalBool returns request form as OptionalBool with default | ||||
| func (ctx *Context) FormOptionalBool(key string, defaults ...util.OptionalBool) util.OptionalBool { | ||||
| 	return (*Forms)(ctx.Req).MustOptionalBool(key, defaults...) | ||||
| } | ||||
| 
 | ||||
| // HandleText handles HTTP status code | ||||
| func (ctx *Context) HandleText(status int, title string) { | ||||
| 	if (status/100 == 4) || (status/100 == 5) { | ||||
|  | ||||
| @ -5,237 +5,60 @@ | ||||
| package context | ||||
| 
 | ||||
| import ( | ||||
| 	"errors" | ||||
| 	"net/http" | ||||
| 	"net/url" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
| 	"text/template" | ||||
| 
 | ||||
| 	"code.gitea.io/gitea/modules/log" | ||||
| 	"code.gitea.io/gitea/modules/util" | ||||
| ) | ||||
| 
 | ||||
| // Forms a new enhancement of http.Request | ||||
| type Forms http.Request | ||||
| 
 | ||||
| // Values returns http.Request values | ||||
| func (f *Forms) Values() url.Values { | ||||
| 	return (*http.Request)(f).Form | ||||
| // FormString returns the first value matching the provided key in the form as a string | ||||
| func (ctx *Context) FormString(key string) string { | ||||
| 	return ctx.Req.FormValue(key) | ||||
| } | ||||
| 
 | ||||
| // String returns request form as string | ||||
| func (f *Forms) String(key string) (string, error) { | ||||
| 	return (*http.Request)(f).FormValue(key), nil | ||||
| } | ||||
| 
 | ||||
| // Trimmed returns request form as string with trimed spaces left and right | ||||
| func (f *Forms) Trimmed(key string) (string, error) { | ||||
| 	return strings.TrimSpace((*http.Request)(f).FormValue(key)), nil | ||||
| } | ||||
| 
 | ||||
| // Strings returns request form as strings | ||||
| func (f *Forms) Strings(key string) ([]string, error) { | ||||
| 	if (*http.Request)(f).Form == nil { | ||||
| 		if err := (*http.Request)(f).ParseMultipartForm(32 << 20); err != nil { | ||||
| 			return nil, err | ||||
| // FormStrings returns a string slice for the provided key from the form | ||||
| func (ctx *Context) FormStrings(key string) []string { | ||||
| 	if ctx.Req.Form == nil { | ||||
| 		if err := ctx.Req.ParseMultipartForm(32 << 20); err != nil { | ||||
| 			return nil | ||||
| 		} | ||||
| 	} | ||||
| 	if v, ok := (*http.Request)(f).Form[key]; ok { | ||||
| 		return v, nil | ||||
| 	} | ||||
| 	return nil, errors.New("not exist") | ||||
| } | ||||
| 
 | ||||
| // Escape returns request form as escaped string | ||||
| func (f *Forms) Escape(key string) (string, error) { | ||||
| 	return template.HTMLEscapeString((*http.Request)(f).FormValue(key)), nil | ||||
| } | ||||
| 
 | ||||
| // Int returns request form as int | ||||
| func (f *Forms) Int(key string) (int, error) { | ||||
| 	return strconv.Atoi((*http.Request)(f).FormValue(key)) | ||||
| } | ||||
| 
 | ||||
| // Int32 returns request form as int32 | ||||
| func (f *Forms) Int32(key string) (int32, error) { | ||||
| 	v, err := strconv.ParseInt((*http.Request)(f).FormValue(key), 10, 32) | ||||
| 	return int32(v), err | ||||
| } | ||||
| 
 | ||||
| // Int64 returns request form as int64 | ||||
| func (f *Forms) Int64(key string) (int64, error) { | ||||
| 	return strconv.ParseInt((*http.Request)(f).FormValue(key), 10, 64) | ||||
| } | ||||
| 
 | ||||
| // Uint returns request form as uint | ||||
| func (f *Forms) Uint(key string) (uint, error) { | ||||
| 	v, err := strconv.ParseUint((*http.Request)(f).FormValue(key), 10, 64) | ||||
| 	return uint(v), err | ||||
| } | ||||
| 
 | ||||
| // Uint32 returns request form as uint32 | ||||
| func (f *Forms) Uint32(key string) (uint32, error) { | ||||
| 	v, err := strconv.ParseUint((*http.Request)(f).FormValue(key), 10, 32) | ||||
| 	return uint32(v), err | ||||
| } | ||||
| 
 | ||||
| // Uint64 returns request form as uint64 | ||||
| func (f *Forms) Uint64(key string) (uint64, error) { | ||||
| 	return strconv.ParseUint((*http.Request)(f).FormValue(key), 10, 64) | ||||
| } | ||||
| 
 | ||||
| // Bool returns request form as bool | ||||
| func (f *Forms) Bool(key string) (bool, error) { | ||||
| 	return strconv.ParseBool((*http.Request)(f).FormValue(key)) | ||||
| } | ||||
| 
 | ||||
| // Float32 returns request form as float32 | ||||
| func (f *Forms) Float32(key string) (float32, error) { | ||||
| 	v, err := strconv.ParseFloat((*http.Request)(f).FormValue(key), 64) | ||||
| 	return float32(v), err | ||||
| } | ||||
| 
 | ||||
| // Float64 returns request form as float64 | ||||
| func (f *Forms) Float64(key string) (float64, error) { | ||||
| 	return strconv.ParseFloat((*http.Request)(f).FormValue(key), 64) | ||||
| } | ||||
| 
 | ||||
| // MustString returns request form as string with default | ||||
| func (f *Forms) MustString(key string, defaults ...string) string { | ||||
| 	if v := (*http.Request)(f).FormValue(key); len(v) > 0 { | ||||
| 	if v, ok := ctx.Req.Form[key]; ok { | ||||
| 		return v | ||||
| 	} | ||||
| 	if len(defaults) > 0 { | ||||
| 		return defaults[0] | ||||
| 	} | ||||
| 	return "" | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| // MustTrimmed returns request form as string with default | ||||
| func (f *Forms) MustTrimmed(key string, defaults ...string) string { | ||||
| 	return strings.TrimSpace(f.MustString(key, defaults...)) | ||||
| // FormTrim returns the first value for the provided key in the form as a space trimmed string | ||||
| func (ctx *Context) FormTrim(key string) string { | ||||
| 	return strings.TrimSpace(ctx.Req.FormValue(key)) | ||||
| } | ||||
| 
 | ||||
| // MustStrings returns request form as strings with default | ||||
| func (f *Forms) MustStrings(key string, defaults ...[]string) []string { | ||||
| 	if (*http.Request)(f).Form == nil { | ||||
| 		if err := (*http.Request)(f).ParseMultipartForm(32 << 20); err != nil { | ||||
| 			log.Error("ParseMultipartForm: %v", err) | ||||
| 			return []string{} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if v, ok := (*http.Request)(f).Form[key]; ok { | ||||
| 		return v | ||||
| 	} | ||||
| 	if len(defaults) > 0 { | ||||
| 		return defaults[0] | ||||
| 	} | ||||
| 	return []string{} | ||||
| } | ||||
| 
 | ||||
| // MustEscape returns request form as escaped string with default | ||||
| func (f *Forms) MustEscape(key string, defaults ...string) string { | ||||
| 	if v := (*http.Request)(f).FormValue(key); len(v) > 0 { | ||||
| 		return template.HTMLEscapeString(v) | ||||
| 	} | ||||
| 	if len(defaults) > 0 { | ||||
| 		return defaults[0] | ||||
| 	} | ||||
| 	return "" | ||||
| } | ||||
| 
 | ||||
| // MustInt returns request form as int with default | ||||
| func (f *Forms) MustInt(key string, defaults ...int) int { | ||||
| 	v, err := strconv.Atoi((*http.Request)(f).FormValue(key)) | ||||
| 	if len(defaults) > 0 && err != nil { | ||||
| 		return defaults[0] | ||||
| 	} | ||||
| // FormInt returns the first value for the provided key in the form as an int | ||||
| func (ctx *Context) FormInt(key string) int { | ||||
| 	v, _ := strconv.Atoi(ctx.Req.FormValue(key)) | ||||
| 	return v | ||||
| } | ||||
| 
 | ||||
| // MustInt32 returns request form as int32 with default | ||||
| func (f *Forms) MustInt32(key string, defaults ...int32) int32 { | ||||
| 	v, err := strconv.ParseInt((*http.Request)(f).FormValue(key), 10, 32) | ||||
| 	if len(defaults) > 0 && err != nil { | ||||
| 		return defaults[0] | ||||
| 	} | ||||
| 	return int32(v) | ||||
| } | ||||
| 
 | ||||
| // MustInt64 returns request form as int64 with default | ||||
| func (f *Forms) MustInt64(key string, defaults ...int64) int64 { | ||||
| 	v, err := strconv.ParseInt((*http.Request)(f).FormValue(key), 10, 64) | ||||
| 	if len(defaults) > 0 && err != nil { | ||||
| 		return defaults[0] | ||||
| 	} | ||||
| // FormInt64 returns the first value for the provided key in the form as an int64 | ||||
| func (ctx *Context) FormInt64(key string) int64 { | ||||
| 	v, _ := strconv.ParseInt(ctx.Req.FormValue(key), 10, 64) | ||||
| 	return v | ||||
| } | ||||
| 
 | ||||
| // MustUint returns request form as uint with default | ||||
| func (f *Forms) MustUint(key string, defaults ...uint) uint { | ||||
| 	v, err := strconv.ParseUint((*http.Request)(f).FormValue(key), 10, 64) | ||||
| 	if len(defaults) > 0 && err != nil { | ||||
| 		return defaults[0] | ||||
| 	} | ||||
| 	return uint(v) | ||||
| } | ||||
| 
 | ||||
| // MustUint32 returns request form as uint32 with default | ||||
| func (f *Forms) MustUint32(key string, defaults ...uint32) uint32 { | ||||
| 	v, err := strconv.ParseUint((*http.Request)(f).FormValue(key), 10, 32) | ||||
| 	if len(defaults) > 0 && err != nil { | ||||
| 		return defaults[0] | ||||
| 	} | ||||
| 	return uint32(v) | ||||
| } | ||||
| 
 | ||||
| // MustUint64 returns request form as uint64 with default | ||||
| func (f *Forms) MustUint64(key string, defaults ...uint64) uint64 { | ||||
| 	v, err := strconv.ParseUint((*http.Request)(f).FormValue(key), 10, 64) | ||||
| 	if len(defaults) > 0 && err != nil { | ||||
| 		return defaults[0] | ||||
| 	} | ||||
| // FormBool returns true if the value for the provided key in the form is "1" or "true" | ||||
| func (ctx *Context) FormBool(key string) bool { | ||||
| 	v, _ := strconv.ParseBool(ctx.Req.FormValue(key)) | ||||
| 	return v | ||||
| } | ||||
| 
 | ||||
| // MustFloat32 returns request form as float32 with default | ||||
| func (f *Forms) MustFloat32(key string, defaults ...float32) float32 { | ||||
| 	v, err := strconv.ParseFloat((*http.Request)(f).FormValue(key), 32) | ||||
| 	if len(defaults) > 0 && err != nil { | ||||
| 		return defaults[0] | ||||
| 	} | ||||
| 	return float32(v) | ||||
| } | ||||
| 
 | ||||
| // MustFloat64 returns request form as float64 with default | ||||
| func (f *Forms) MustFloat64(key string, defaults ...float64) float64 { | ||||
| 	v, err := strconv.ParseFloat((*http.Request)(f).FormValue(key), 64) | ||||
| 	if len(defaults) > 0 && err != nil { | ||||
| 		return defaults[0] | ||||
| 	} | ||||
| 	return v | ||||
| } | ||||
| 
 | ||||
| // MustBool returns request form as bool with default | ||||
| func (f *Forms) MustBool(key string, defaults ...bool) bool { | ||||
| 	v, err := strconv.ParseBool((*http.Request)(f).FormValue(key)) | ||||
| 	if len(defaults) > 0 && err != nil { | ||||
| 		return defaults[0] | ||||
| 	} | ||||
| 	return v | ||||
| } | ||||
| 
 | ||||
| // MustOptionalBool returns request form as OptionalBool with default | ||||
| func (f *Forms) MustOptionalBool(key string, defaults ...util.OptionalBool) util.OptionalBool { | ||||
| 	value := (*http.Request)(f).FormValue(key) | ||||
| // FormOptionalBool returns an OptionalBoolTrue or OptionalBoolFalse if the value | ||||
| // for the provided key exists in the form else it returns OptionalBoolNone | ||||
| func (ctx *Context) FormOptionalBool(key string) util.OptionalBool { | ||||
| 	value := ctx.Req.FormValue(key) | ||||
| 	if len(value) == 0 { | ||||
| 		return util.OptionalBoolNone | ||||
| 	} | ||||
| 	v, err := strconv.ParseBool((*http.Request)(f).FormValue(key)) | ||||
| 	if len(defaults) > 0 && err != nil { | ||||
| 		return defaults[0] | ||||
| 	} | ||||
| 	v, _ := strconv.ParseBool(ctx.Req.FormValue(key)) | ||||
| 	return util.OptionalBoolOf(v) | ||||
| } | ||||
|  | ||||
| @ -346,7 +346,7 @@ func repoAssignment(ctx *Context, repo *models.Repository) { | ||||
| 
 | ||||
| 	// Check access. | ||||
| 	if ctx.Repo.Permission.AccessMode == models.AccessModeNone { | ||||
| 		if ctx.Form("go-get") == "1" { | ||||
| 		if ctx.FormString("go-get") == "1" { | ||||
| 			EarlyResponseForGoGetMeta(ctx) | ||||
| 			return | ||||
| 		} | ||||
| @ -415,7 +415,7 @@ func RepoAssignment(ctx *Context) (cancel context.CancelFunc) { | ||||
| 		owner, err = models.GetUserByName(userName) | ||||
| 		if err != nil { | ||||
| 			if models.IsErrUserNotExist(err) { | ||||
| 				if ctx.Form("go-get") == "1" { | ||||
| 				if ctx.FormString("go-get") == "1" { | ||||
| 					EarlyResponseForGoGetMeta(ctx) | ||||
| 					return | ||||
| 				} | ||||
| @ -437,7 +437,7 @@ func RepoAssignment(ctx *Context) (cancel context.CancelFunc) { | ||||
| 			if err == nil { | ||||
| 				RedirectToRepo(ctx, redirectRepoID) | ||||
| 			} else if models.IsErrRepoRedirectNotExist(err) { | ||||
| 				if ctx.Form("go-get") == "1" { | ||||
| 				if ctx.FormString("go-get") == "1" { | ||||
| 					EarlyResponseForGoGetMeta(ctx) | ||||
| 					return | ||||
| 				} | ||||
| @ -618,7 +618,7 @@ func RepoAssignment(ctx *Context) (cancel context.CancelFunc) { | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if ctx.Form("go-get") == "1" { | ||||
| 	if ctx.FormString("go-get") == "1" { | ||||
| 		ctx.Data["GoGetImport"] = ComposeGoGetImport(owner.Name, repo.Name) | ||||
| 		prefix := setting.AppURL + path.Join(owner.Name, repo.Name, "src", "branch", ctx.Repo.BranchName) | ||||
| 		ctx.Data["GoDocDirectory"] = prefix + "{/dir}" | ||||
|  | ||||
| @ -42,7 +42,7 @@ func ListUnadoptedRepositories(ctx *context.APIContext) { | ||||
| 	//     "$ref": "#/responses/forbidden" | ||||
| 
 | ||||
| 	listOptions := utils.GetListOptions(ctx) | ||||
| 	repoNames, count, err := repository.ListUnadoptedRepositories(ctx.Form("query"), &listOptions) | ||||
| 	repoNames, count, err := repository.ListUnadoptedRepositories(ctx.FormString("query"), &listOptions) | ||||
| 	if err != nil { | ||||
| 		ctx.InternalServerError(err) | ||||
| 	} | ||||
|  | ||||
| @ -93,7 +93,7 @@ import ( | ||||
| 
 | ||||
| func sudo() func(ctx *context.APIContext) { | ||||
| 	return func(ctx *context.APIContext) { | ||||
| 		sudo := ctx.Form("sudo") | ||||
| 		sudo := ctx.FormString("sudo") | ||||
| 		if len(sudo) == 0 { | ||||
| 			sudo = ctx.Req.Header.Get("Sudo") | ||||
| 		} | ||||
|  | ||||
| @ -171,7 +171,7 @@ func ReadRepoNotifications(ctx *context.APIContext) { | ||||
| 	//     "$ref": "#/responses/empty" | ||||
| 
 | ||||
| 	lastRead := int64(0) | ||||
| 	qLastRead := strings.Trim(ctx.Form("last_read_at"), " ") | ||||
| 	qLastRead := strings.Trim(ctx.FormString("last_read_at"), " ") | ||||
| 	if len(qLastRead) > 0 { | ||||
| 		tmpLastRead, err := time.Parse(time.RFC3339, qLastRead) | ||||
| 		if err != nil { | ||||
| @ -200,7 +200,7 @@ func ReadRepoNotifications(ctx *context.APIContext) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	targetStatus := statusStringToNotificationStatus(ctx.Form("to-status")) | ||||
| 	targetStatus := statusStringToNotificationStatus(ctx.FormString("to-status")) | ||||
| 	if targetStatus == 0 { | ||||
| 		targetStatus = models.NotificationStatusRead | ||||
| 	} | ||||
|  | ||||
| @ -82,7 +82,7 @@ func ReadThread(ctx *context.APIContext) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	targetStatus := statusStringToNotificationStatus(ctx.Form("to-status")) | ||||
| 	targetStatus := statusStringToNotificationStatus(ctx.FormString("to-status")) | ||||
| 	if targetStatus == 0 { | ||||
| 		targetStatus = models.NotificationStatusRead | ||||
| 	} | ||||
|  | ||||
| @ -122,7 +122,7 @@ func ReadNotifications(ctx *context.APIContext) { | ||||
| 	//     "$ref": "#/responses/empty" | ||||
| 
 | ||||
| 	lastRead := int64(0) | ||||
| 	qLastRead := strings.Trim(ctx.Form("last_read_at"), " ") | ||||
| 	qLastRead := strings.Trim(ctx.FormString("last_read_at"), " ") | ||||
| 	if len(qLastRead) > 0 { | ||||
| 		tmpLastRead, err := time.Parse(time.RFC3339, qLastRead) | ||||
| 		if err != nil { | ||||
| @ -147,7 +147,7 @@ func ReadNotifications(ctx *context.APIContext) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	targetStatus := statusStringToNotificationStatus(ctx.Form("to-status")) | ||||
| 	targetStatus := statusStringToNotificationStatus(ctx.FormString("to-status")) | ||||
| 	if targetStatus == 0 { | ||||
| 		targetStatus = models.NotificationStatusRead | ||||
| 	} | ||||
|  | ||||
| @ -43,7 +43,7 @@ func ListLabels(ctx *context.APIContext) { | ||||
| 	//   "200": | ||||
| 	//     "$ref": "#/responses/LabelList" | ||||
| 
 | ||||
| 	labels, err := models.GetLabelsByOrgID(ctx.Org.Organization.ID, ctx.Form("sort"), utils.GetListOptions(ctx)) | ||||
| 	labels, err := models.GetLabelsByOrgID(ctx.Org.Organization.ID, ctx.FormString("sort"), utils.GetListOptions(ctx)) | ||||
| 	if err != nil { | ||||
| 		ctx.Error(http.StatusInternalServerError, "GetLabelsByOrgID", err) | ||||
| 		return | ||||
|  | ||||
| @ -658,9 +658,9 @@ func SearchTeam(ctx *context.APIContext) { | ||||
| 
 | ||||
| 	opts := &models.SearchTeamOptions{ | ||||
| 		UserID:      ctx.User.ID, | ||||
| 		Keyword:     strings.TrimSpace(ctx.Form("q")), | ||||
| 		Keyword:     strings.TrimSpace(ctx.FormString("q")), | ||||
| 		OrgID:       ctx.Org.Organization.ID, | ||||
| 		IncludeDesc: ctx.Form("include_desc") == "" || ctx.FormBool("include_desc"), | ||||
| 		IncludeDesc: ctx.FormString("include_desc") == "" || ctx.FormBool("include_desc"), | ||||
| 		ListOptions: listOptions, | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
| @ -147,7 +147,7 @@ func GetAllCommits(ctx *context.APIContext) { | ||||
| 		listOptions.PageSize = setting.Git.CommitsRangeSize | ||||
| 	} | ||||
| 
 | ||||
| 	sha := ctx.Form("sha") | ||||
| 	sha := ctx.FormString("sha") | ||||
| 
 | ||||
| 	var baseCommit *git.Commit | ||||
| 	if len(sha) == 0 { | ||||
|  | ||||
| @ -106,7 +106,7 @@ func SearchIssues(ctx *context.APIContext) { | ||||
| 	} | ||||
| 
 | ||||
| 	var isClosed util.OptionalBool | ||||
| 	switch ctx.Form("state") { | ||||
| 	switch ctx.FormString("state") { | ||||
| 	case "closed": | ||||
| 		isClosed = util.OptionalBoolTrue | ||||
| 	case "all": | ||||
| @ -140,7 +140,7 @@ func SearchIssues(ctx *context.APIContext) { | ||||
| 	var issues []*models.Issue | ||||
| 	var filteredCount int64 | ||||
| 
 | ||||
| 	keyword := strings.Trim(ctx.Form("q"), " ") | ||||
| 	keyword := strings.Trim(ctx.FormString("q"), " ") | ||||
| 	if strings.IndexByte(keyword, 0) >= 0 { | ||||
| 		keyword = "" | ||||
| 	} | ||||
| @ -153,7 +153,7 @@ func SearchIssues(ctx *context.APIContext) { | ||||
| 	} | ||||
| 
 | ||||
| 	var isPull util.OptionalBool | ||||
| 	switch ctx.Form("type") { | ||||
| 	switch ctx.FormString("type") { | ||||
| 	case "pulls": | ||||
| 		isPull = util.OptionalBoolTrue | ||||
| 	case "issues": | ||||
| @ -162,13 +162,13 @@ func SearchIssues(ctx *context.APIContext) { | ||||
| 		isPull = util.OptionalBoolNone | ||||
| 	} | ||||
| 
 | ||||
| 	labels := strings.TrimSpace(ctx.Form("labels")) | ||||
| 	labels := strings.TrimSpace(ctx.FormString("labels")) | ||||
| 	var includedLabelNames []string | ||||
| 	if len(labels) > 0 { | ||||
| 		includedLabelNames = strings.Split(labels, ",") | ||||
| 	} | ||||
| 
 | ||||
| 	milestones := strings.TrimSpace(ctx.Form("milestones")) | ||||
| 	milestones := strings.TrimSpace(ctx.FormString("milestones")) | ||||
| 	var includedMilestones []string | ||||
| 	if len(milestones) > 0 { | ||||
| 		includedMilestones = strings.Split(milestones, ",") | ||||
| @ -319,7 +319,7 @@ func ListIssues(ctx *context.APIContext) { | ||||
| 	} | ||||
| 
 | ||||
| 	var isClosed util.OptionalBool | ||||
| 	switch ctx.Form("state") { | ||||
| 	switch ctx.FormString("state") { | ||||
| 	case "closed": | ||||
| 		isClosed = util.OptionalBoolTrue | ||||
| 	case "all": | ||||
| @ -331,7 +331,7 @@ func ListIssues(ctx *context.APIContext) { | ||||
| 	var issues []*models.Issue | ||||
| 	var filteredCount int64 | ||||
| 
 | ||||
| 	keyword := strings.Trim(ctx.Form("q"), " ") | ||||
| 	keyword := strings.Trim(ctx.FormString("q"), " ") | ||||
| 	if strings.IndexByte(keyword, 0) >= 0 { | ||||
| 		keyword = "" | ||||
| 	} | ||||
| @ -345,7 +345,7 @@ func ListIssues(ctx *context.APIContext) { | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if splitted := strings.Split(ctx.Form("labels"), ","); len(splitted) > 0 { | ||||
| 	if splitted := strings.Split(ctx.FormString("labels"), ","); len(splitted) > 0 { | ||||
| 		labelIDs, err = models.GetLabelIDsInRepoByNames(ctx.Repo.Repository.ID, splitted) | ||||
| 		if err != nil { | ||||
| 			ctx.Error(http.StatusInternalServerError, "GetLabelIDsInRepoByNames", err) | ||||
| @ -354,7 +354,7 @@ func ListIssues(ctx *context.APIContext) { | ||||
| 	} | ||||
| 
 | ||||
| 	var mileIDs []int64 | ||||
| 	if part := strings.Split(ctx.Form("milestones"), ","); len(part) > 0 { | ||||
| 	if part := strings.Split(ctx.FormString("milestones"), ","); len(part) > 0 { | ||||
| 		for i := range part { | ||||
| 			// uses names and fall back to ids | ||||
| 			// non existent milestones are discarded | ||||
| @ -386,7 +386,7 @@ func ListIssues(ctx *context.APIContext) { | ||||
| 	listOptions := utils.GetListOptions(ctx) | ||||
| 
 | ||||
| 	var isPull util.OptionalBool | ||||
| 	switch ctx.Form("type") { | ||||
| 	switch ctx.FormString("type") { | ||||
| 	case "pulls": | ||||
| 		isPull = util.OptionalBoolTrue | ||||
| 	case "issues": | ||||
| @ -448,7 +448,7 @@ func ListIssues(ctx *context.APIContext) { | ||||
| } | ||||
| 
 | ||||
| func getUserIDForFilter(ctx *context.APIContext, queryName string) int64 { | ||||
| 	userName := ctx.Form(queryName) | ||||
| 	userName := ctx.FormString(queryName) | ||||
| 	if len(userName) == 0 { | ||||
| 		return 0 | ||||
| 	} | ||||
|  | ||||
| @ -90,7 +90,7 @@ func ListTrackedTimes(ctx *context.APIContext) { | ||||
| 		IssueID:      issue.ID, | ||||
| 	} | ||||
| 
 | ||||
| 	qUser := strings.Trim(ctx.Form("user"), " ") | ||||
| 	qUser := strings.Trim(ctx.FormString("user"), " ") | ||||
| 	if qUser != "" { | ||||
| 		user, err := models.GetUserByName(qUser) | ||||
| 		if models.IsErrUserNotExist(err) { | ||||
| @ -500,7 +500,7 @@ func ListTrackedTimesByRepository(ctx *context.APIContext) { | ||||
| 	} | ||||
| 
 | ||||
| 	// Filters | ||||
| 	qUser := strings.Trim(ctx.Form("user"), " ") | ||||
| 	qUser := strings.Trim(ctx.FormString("user"), " ") | ||||
| 	if qUser != "" { | ||||
| 		user, err := models.GetUserByName(qUser) | ||||
| 		if models.IsErrUserNotExist(err) { | ||||
|  | ||||
| @ -78,7 +78,7 @@ func ListDeployKeys(ctx *context.APIContext) { | ||||
| 	var keys []*models.DeployKey | ||||
| 	var err error | ||||
| 
 | ||||
| 	fingerprint := ctx.Form("fingerprint") | ||||
| 	fingerprint := ctx.FormString("fingerprint") | ||||
| 	keyID := ctx.FormInt64("key_id") | ||||
| 	if fingerprint != "" || keyID != 0 { | ||||
| 		keys, err = models.SearchDeployKeys(ctx.Repo.Repository.ID, keyID, fingerprint) | ||||
|  | ||||
| @ -49,7 +49,7 @@ func ListLabels(ctx *context.APIContext) { | ||||
| 	//   "200": | ||||
| 	//     "$ref": "#/responses/LabelList" | ||||
| 
 | ||||
| 	labels, err := models.GetLabelsByRepoID(ctx.Repo.Repository.ID, ctx.Form("sort"), utils.GetListOptions(ctx)) | ||||
| 	labels, err := models.GetLabelsByRepoID(ctx.Repo.Repository.ID, ctx.FormString("sort"), utils.GetListOptions(ctx)) | ||||
| 	if err != nil { | ||||
| 		ctx.Error(http.StatusInternalServerError, "GetLabelsByRepoID", err) | ||||
| 		return | ||||
|  | ||||
| @ -60,8 +60,8 @@ func ListMilestones(ctx *context.APIContext) { | ||||
| 	milestones, err := models.GetMilestones(models.GetMilestonesOption{ | ||||
| 		ListOptions: utils.GetListOptions(ctx), | ||||
| 		RepoID:      ctx.Repo.Repository.ID, | ||||
| 		State:       api.StateType(ctx.Form("state")), | ||||
| 		Name:        ctx.Form("name"), | ||||
| 		State:       api.StateType(ctx.FormString("state")), | ||||
| 		Name:        ctx.FormString("name"), | ||||
| 	}) | ||||
| 	if err != nil { | ||||
| 		ctx.Error(http.StatusInternalServerError, "GetMilestones", err) | ||||
|  | ||||
| @ -190,7 +190,7 @@ func CreateReleaseAttachment(ctx *context.APIContext) { | ||||
| 	} | ||||
| 
 | ||||
| 	var filename = header.Filename | ||||
| 	if query := ctx.Form("name"); query != "" { | ||||
| 	if query := ctx.FormString("name"); query != "" { | ||||
| 		filename = query | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
| @ -135,19 +135,19 @@ func Search(ctx *context.APIContext) { | ||||
| 	opts := &models.SearchRepoOptions{ | ||||
| 		ListOptions:        utils.GetListOptions(ctx), | ||||
| 		Actor:              ctx.User, | ||||
| 		Keyword:            strings.Trim(ctx.Form("q"), " "), | ||||
| 		Keyword:            strings.Trim(ctx.FormString("q"), " "), | ||||
| 		OwnerID:            ctx.FormInt64("uid"), | ||||
| 		PriorityOwnerID:    ctx.FormInt64("priority_owner_id"), | ||||
| 		TeamID:             ctx.FormInt64("team_id"), | ||||
| 		TopicOnly:          ctx.FormBool("topic"), | ||||
| 		Collaborate:        util.OptionalBoolNone, | ||||
| 		Private:            ctx.IsSigned && (ctx.Form("private") == "" || ctx.FormBool("private")), | ||||
| 		Private:            ctx.IsSigned && (ctx.FormString("private") == "" || ctx.FormBool("private")), | ||||
| 		Template:           util.OptionalBoolNone, | ||||
| 		StarredByID:        ctx.FormInt64("starredBy"), | ||||
| 		IncludeDescription: ctx.FormBool("includeDesc"), | ||||
| 	} | ||||
| 
 | ||||
| 	if ctx.Form("template") != "" { | ||||
| 	if ctx.FormString("template") != "" { | ||||
| 		opts.Template = util.OptionalBoolOf(ctx.FormBool("template")) | ||||
| 	} | ||||
| 
 | ||||
| @ -155,7 +155,7 @@ func Search(ctx *context.APIContext) { | ||||
| 		opts.Collaborate = util.OptionalBoolFalse | ||||
| 	} | ||||
| 
 | ||||
| 	var mode = ctx.Form("mode") | ||||
| 	var mode = ctx.FormString("mode") | ||||
| 	switch mode { | ||||
| 	case "source": | ||||
| 		opts.Fork = util.OptionalBoolFalse | ||||
| @ -173,17 +173,17 @@ func Search(ctx *context.APIContext) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	if ctx.Form("archived") != "" { | ||||
| 	if ctx.FormString("archived") != "" { | ||||
| 		opts.Archived = util.OptionalBoolOf(ctx.FormBool("archived")) | ||||
| 	} | ||||
| 
 | ||||
| 	if ctx.Form("is_private") != "" { | ||||
| 	if ctx.FormString("is_private") != "" { | ||||
| 		opts.IsPrivate = util.OptionalBoolOf(ctx.FormBool("is_private")) | ||||
| 	} | ||||
| 
 | ||||
| 	var sortMode = ctx.Form("sort") | ||||
| 	var sortMode = ctx.FormString("sort") | ||||
| 	if len(sortMode) > 0 { | ||||
| 		var sortOrder = ctx.Form("order") | ||||
| 		var sortOrder = ctx.FormString("order") | ||||
| 		if len(sortOrder) == 0 { | ||||
| 			sortOrder = "asc" | ||||
| 		} | ||||
|  | ||||
| @ -274,7 +274,7 @@ func TopicSearch(ctx *context.APIContext) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	kw := ctx.Form("q") | ||||
| 	kw := ctx.FormString("q") | ||||
| 
 | ||||
| 	listOptions := utils.GetListOptions(ctx) | ||||
| 
 | ||||
|  | ||||
| @ -48,7 +48,7 @@ func listPublicKeys(ctx *context.APIContext, user *models.User) { | ||||
| 	var keys []*models.PublicKey | ||||
| 	var err error | ||||
| 
 | ||||
| 	fingerprint := ctx.Form("fingerprint") | ||||
| 	fingerprint := ctx.FormString("fingerprint") | ||||
| 	username := ctx.Params("username") | ||||
| 
 | ||||
| 	if fingerprint != "" { | ||||
|  | ||||
| @ -58,7 +58,7 @@ func Search(ctx *context.APIContext) { | ||||
| 
 | ||||
| 	opts := &models.SearchUserOptions{ | ||||
| 		Actor:       ctx.User, | ||||
| 		Keyword:     strings.Trim(ctx.Form("q"), " "), | ||||
| 		Keyword:     strings.Trim(ctx.FormString("q"), " "), | ||||
| 		UID:         ctx.FormInt64("uid"), | ||||
| 		Type:        models.UserTypeIndividual, | ||||
| 		ListOptions: listOptions, | ||||
|  | ||||
| @ -54,7 +54,7 @@ func parseTime(value string) (int64, error) { | ||||
| 
 | ||||
| // prepareQueryArg unescape and trim a query arg | ||||
| func prepareQueryArg(ctx *context.APIContext, name string) (value string, err error) { | ||||
| 	value, err = url.PathUnescape(ctx.Form(name)) | ||||
| 	value, err = url.PathUnescape(ctx.FormString(name)) | ||||
| 	value = strings.TrimSpace(value) | ||||
| 	return | ||||
| } | ||||
|  | ||||
| @ -50,7 +50,7 @@ func UpdatePublicKeyInRepo(ctx *context.PrivateContext) { | ||||
| // AuthorizedPublicKeyByContent searches content as prefix (leak e-mail part) | ||||
| // and returns public key found. | ||||
| func AuthorizedPublicKeyByContent(ctx *context.PrivateContext) { | ||||
| 	content := ctx.Form("content") | ||||
| 	content := ctx.FormString("content") | ||||
| 
 | ||||
| 	publicKey, err := models.SearchPublicKeyByContent(content) | ||||
| 	if err != nil { | ||||
|  | ||||
| @ -161,7 +161,7 @@ func DashboardPost(ctx *context.Context) { | ||||
| 
 | ||||
| // SendTestMail send test mail to confirm mail service is OK | ||||
| func SendTestMail(ctx *context.Context) { | ||||
| 	email := ctx.Form("email") | ||||
| 	email := ctx.FormString("email") | ||||
| 	// Send a test email to the user's email address and redirect back to Config | ||||
| 	if err := mailer.SendTestMail(email); err != nil { | ||||
| 		ctx.Flash.Error(ctx.Tr("admin.config.test_mail_failed", email, err)) | ||||
| @ -377,7 +377,7 @@ func Flush(ctx *context.Context) { | ||||
| 		ctx.Status(404) | ||||
| 		return | ||||
| 	} | ||||
| 	timeout, err := time.ParseDuration(ctx.Form("timeout")) | ||||
| 	timeout, err := time.ParseDuration(ctx.FormString("timeout")) | ||||
| 	if err != nil { | ||||
| 		timeout = -1 | ||||
| 	} | ||||
| @ -405,7 +405,7 @@ func AddWorkers(ctx *context.Context) { | ||||
| 		ctx.Redirect(setting.AppSubURL + "/admin/monitor/queue/" + strconv.FormatInt(qid, 10)) | ||||
| 		return | ||||
| 	} | ||||
| 	timeout, err := time.ParseDuration(ctx.Form("timeout")) | ||||
| 	timeout, err := time.ParseDuration(ctx.FormString("timeout")) | ||||
| 	if err != nil { | ||||
| 		ctx.Flash.Error(ctx.Tr("admin.monitor.queue.pool.addworkers.musttimeoutduration")) | ||||
| 		ctx.Redirect(setting.AppSubURL + "/admin/monitor/queue/" + strconv.FormatInt(qid, 10)) | ||||
| @ -435,9 +435,9 @@ func SetQueueSettings(ctx *context.Context) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	maxNumberStr := ctx.Form("max-number") | ||||
| 	numberStr := ctx.Form("number") | ||||
| 	timeoutStr := ctx.Form("timeout") | ||||
| 	maxNumberStr := ctx.FormString("max-number") | ||||
| 	numberStr := ctx.FormString("number") | ||||
| 	timeoutStr := ctx.FormString("timeout") | ||||
| 
 | ||||
| 	var err error | ||||
| 	var maxNumber, number int | ||||
|  | ||||
| @ -51,8 +51,8 @@ func Emails(ctx *context.Context) { | ||||
| 		orderBy    models.SearchEmailOrderBy | ||||
| 	) | ||||
| 
 | ||||
| 	ctx.Data["SortType"] = ctx.Form("sort") | ||||
| 	switch ctx.Form("sort") { | ||||
| 	ctx.Data["SortType"] = ctx.FormString("sort") | ||||
| 	switch ctx.FormString("sort") { | ||||
| 	case "email": | ||||
| 		orderBy = models.SearchEmailOrderByEmail | ||||
| 	case "reverseemail": | ||||
| @ -68,10 +68,10 @@ func Emails(ctx *context.Context) { | ||||
| 
 | ||||
| 	opts.Keyword = ctx.FormTrim("q") | ||||
| 	opts.SortType = orderBy | ||||
| 	if len(ctx.Form("is_activated")) != 0 { | ||||
| 	if len(ctx.FormString("is_activated")) != 0 { | ||||
| 		opts.IsActivated = util.OptionalBoolOf(ctx.FormBool("activated")) | ||||
| 	} | ||||
| 	if len(ctx.Form("is_primary")) != 0 { | ||||
| 	if len(ctx.FormString("is_primary")) != 0 { | ||||
| 		opts.IsPrimary = util.OptionalBoolOf(ctx.FormBool("primary")) | ||||
| 	} | ||||
| 
 | ||||
| @ -114,9 +114,9 @@ func ActivateEmail(ctx *context.Context) { | ||||
| 	truefalse := map[string]bool{"1": true, "0": false} | ||||
| 
 | ||||
| 	uid := ctx.FormInt64("uid") | ||||
| 	email := ctx.Form("email") | ||||
| 	primary, okp := truefalse[ctx.Form("primary")] | ||||
| 	activate, oka := truefalse[ctx.Form("activate")] | ||||
| 	email := ctx.FormString("email") | ||||
| 	primary, okp := truefalse[ctx.FormString("primary")] | ||||
| 	activate, oka := truefalse[ctx.FormString("activate")] | ||||
| 
 | ||||
| 	if uid == 0 || len(email) == 0 || !okp || !oka { | ||||
| 		ctx.Error(http.StatusBadRequest) | ||||
|  | ||||
| @ -59,7 +59,7 @@ func DeleteRepo(ctx *context.Context) { | ||||
| 
 | ||||
| 	ctx.Flash.Success(ctx.Tr("repo.settings.deletion_success")) | ||||
| 	ctx.JSON(http.StatusOK, map[string]interface{}{ | ||||
| 		"redirect": setting.AppSubURL + "/admin/repos?page=" + ctx.Form("page") + "&sort=" + ctx.Form("sort"), | ||||
| 		"redirect": setting.AppSubURL + "/admin/repos?page=" + ctx.FormString("page") + "&sort=" + ctx.FormString("sort"), | ||||
| 	}) | ||||
| } | ||||
| 
 | ||||
| @ -83,7 +83,7 @@ func UnadoptedRepos(ctx *context.Context) { | ||||
| 	doSearch := ctx.FormBool("search") | ||||
| 
 | ||||
| 	ctx.Data["search"] = doSearch | ||||
| 	q := ctx.Form("q") | ||||
| 	q := ctx.FormString("q") | ||||
| 
 | ||||
| 	if !doSearch { | ||||
| 		pager := context.NewPagination(0, opts.PageSize, opts.Page, 5) | ||||
| @ -109,10 +109,10 @@ func UnadoptedRepos(ctx *context.Context) { | ||||
| 
 | ||||
| // AdoptOrDeleteRepository adopts or deletes a repository | ||||
| func AdoptOrDeleteRepository(ctx *context.Context) { | ||||
| 	dir := ctx.Form("id") | ||||
| 	action := ctx.Form("action") | ||||
| 	dir := ctx.FormString("id") | ||||
| 	action := ctx.FormString("action") | ||||
| 	page := ctx.FormInt("page") | ||||
| 	q := ctx.Form("q") | ||||
| 	q := ctx.FormString("q") | ||||
| 
 | ||||
| 	dirSplit := strings.SplitN(dir, "/", 2) | ||||
| 	if len(dirSplit) != 2 { | ||||
|  | ||||
| @ -33,14 +33,14 @@ func Code(ctx *context.Context) { | ||||
| 	ctx.Data["PageIsExplore"] = true | ||||
| 	ctx.Data["PageIsExploreCode"] = true | ||||
| 
 | ||||
| 	language := strings.TrimSpace(ctx.Form("l")) | ||||
| 	keyword := strings.TrimSpace(ctx.Form("q")) | ||||
| 	language := strings.TrimSpace(ctx.FormString("l")) | ||||
| 	keyword := strings.TrimSpace(ctx.FormString("q")) | ||||
| 	page := ctx.FormInt("page") | ||||
| 	if page <= 0 { | ||||
| 		page = 1 | ||||
| 	} | ||||
| 
 | ||||
| 	queryType := strings.TrimSpace(ctx.Form("t")) | ||||
| 	queryType := strings.TrimSpace(ctx.FormString("t")) | ||||
| 	isMatch := queryType == "match" | ||||
| 
 | ||||
| 	var ( | ||||
|  | ||||
| @ -42,8 +42,8 @@ func RenderRepoSearch(ctx *context.Context, opts *RepoSearchOptions) { | ||||
| 		orderBy models.SearchOrderBy | ||||
| 	) | ||||
| 
 | ||||
| 	ctx.Data["SortType"] = ctx.Form("sort") | ||||
| 	switch ctx.Form("sort") { | ||||
| 	ctx.Data["SortType"] = ctx.FormString("sort") | ||||
| 	switch ctx.FormString("sort") { | ||||
| 	case "newest": | ||||
| 		orderBy = models.SearchOrderByNewest | ||||
| 	case "oldest": | ||||
| @ -73,7 +73,7 @@ func RenderRepoSearch(ctx *context.Context, opts *RepoSearchOptions) { | ||||
| 		orderBy = models.SearchOrderByRecentUpdated | ||||
| 	} | ||||
| 
 | ||||
| 	keyword := strings.Trim(ctx.Form("q"), " ") | ||||
| 	keyword := strings.Trim(ctx.FormString("q"), " ") | ||||
| 	topicOnly := ctx.FormBool("topic") | ||||
| 	ctx.Data["TopicOnly"] = topicOnly | ||||
| 
 | ||||
|  | ||||
| @ -44,8 +44,8 @@ func RenderUserSearch(ctx *context.Context, opts *models.SearchUserOptions, tplN | ||||
| 		orderBy models.SearchOrderBy | ||||
| 	) | ||||
| 
 | ||||
| 	ctx.Data["SortType"] = ctx.Form("sort") | ||||
| 	switch ctx.Form("sort") { | ||||
| 	ctx.Data["SortType"] = ctx.FormString("sort") | ||||
| 	switch ctx.FormString("sort") { | ||||
| 	case "newest": | ||||
| 		orderBy = models.SearchOrderByIDReverse | ||||
| 	case "oldest": | ||||
| @ -63,7 +63,7 @@ func RenderUserSearch(ctx *context.Context, opts *models.SearchUserOptions, tplN | ||||
| 		orderBy = models.SearchOrderByAlphabetically | ||||
| 	} | ||||
| 
 | ||||
| 	opts.Keyword = strings.Trim(ctx.Form("q"), " ") | ||||
| 	opts.Keyword = strings.Trim(ctx.FormString("q"), " ") | ||||
| 	opts.OrderBy = orderBy | ||||
| 	if len(opts.Keyword) == 0 || isKeywordValid(opts.Keyword) { | ||||
| 		users, count, err = models.SearchUsers(opts) | ||||
|  | ||||
| @ -18,7 +18,7 @@ import ( | ||||
| ) | ||||
| 
 | ||||
| func goGet(ctx *context.Context) { | ||||
| 	if ctx.Req.Method != "GET" || ctx.Form("go-get") != "1" || len(ctx.Req.URL.Query()) > 1 { | ||||
| 	if ctx.Req.Method != "GET" || ctx.FormString("go-get") != "1" || len(ctx.Req.URL.Query()) > 1 { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
| @ -51,8 +51,8 @@ func Home(ctx *context.Context) { | ||||
| 	} | ||||
| 
 | ||||
| 	var orderBy models.SearchOrderBy | ||||
| 	ctx.Data["SortType"] = ctx.Form("sort") | ||||
| 	switch ctx.Form("sort") { | ||||
| 	ctx.Data["SortType"] = ctx.FormString("sort") | ||||
| 	switch ctx.FormString("sort") { | ||||
| 	case "newest": | ||||
| 		orderBy = models.SearchOrderByNewest | ||||
| 	case "oldest": | ||||
| @ -78,7 +78,7 @@ func Home(ctx *context.Context) { | ||||
| 		orderBy = models.SearchOrderByRecentUpdated | ||||
| 	} | ||||
| 
 | ||||
| 	keyword := strings.Trim(ctx.Form("q"), " ") | ||||
| 	keyword := strings.Trim(ctx.FormString("q"), " ") | ||||
| 	ctx.Data["Keyword"] = keyword | ||||
| 
 | ||||
| 	page := ctx.FormInt("page") | ||||
|  | ||||
| @ -15,7 +15,7 @@ import ( | ||||
| 
 | ||||
| // RetrieveLabels find all the labels of an organization | ||||
| func RetrieveLabels(ctx *context.Context) { | ||||
| 	labels, err := models.GetLabelsByOrgID(ctx.Org.Organization.ID, ctx.Form("sort"), models.ListOptions{}) | ||||
| 	labels, err := models.GetLabelsByOrgID(ctx.Org.Organization.ID, ctx.FormString("sort"), models.ListOptions{}) | ||||
| 	if err != nil { | ||||
| 		ctx.ServerError("RetrieveLabels.GetLabels", err) | ||||
| 		return | ||||
| @ -25,7 +25,7 @@ func RetrieveLabels(ctx *context.Context) { | ||||
| 	} | ||||
| 	ctx.Data["Labels"] = labels | ||||
| 	ctx.Data["NumLabels"] = len(labels) | ||||
| 	ctx.Data["SortType"] = ctx.Form("sort") | ||||
| 	ctx.Data["SortType"] = ctx.FormString("sort") | ||||
| } | ||||
| 
 | ||||
| // NewLabel create new label for organization | ||||
|  | ||||
| @ -155,7 +155,7 @@ func SettingsDelete(ctx *context.Context) { | ||||
| 
 | ||||
| 	org := ctx.Org.Organization | ||||
| 	if ctx.Req.Method == "POST" { | ||||
| 		if org.Name != ctx.Form("org_name") { | ||||
| 		if org.Name != ctx.FormString("org_name") { | ||||
| 			ctx.Data["Err_OrgName"] = true | ||||
| 			ctx.RenderWithErr(ctx.Tr("form.enterred_invalid_org_name"), tplSettingsDelete, nil) | ||||
| 			return | ||||
|  | ||||
| @ -55,7 +55,7 @@ func TeamsAction(ctx *context.Context) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	page := ctx.Form("page") | ||||
| 	page := ctx.FormString("page") | ||||
| 	var err error | ||||
| 	switch ctx.Params(":action") { | ||||
| 	case "join": | ||||
| @ -78,7 +78,7 @@ func TeamsAction(ctx *context.Context) { | ||||
| 			ctx.Error(http.StatusNotFound) | ||||
| 			return | ||||
| 		} | ||||
| 		uname := utils.RemoveUsernameParameterSuffix(strings.ToLower(ctx.Form("uname"))) | ||||
| 		uname := utils.RemoveUsernameParameterSuffix(strings.ToLower(ctx.FormString("uname"))) | ||||
| 		var u *models.User | ||||
| 		u, err = models.GetUserByName(uname) | ||||
| 		if err != nil { | ||||
| @ -140,7 +140,7 @@ func TeamsRepoAction(ctx *context.Context) { | ||||
| 	action := ctx.Params(":action") | ||||
| 	switch action { | ||||
| 	case "add": | ||||
| 		repoName := path.Base(ctx.Form("repo_name")) | ||||
| 		repoName := path.Base(ctx.FormString("repo_name")) | ||||
| 		var repo *models.Repository | ||||
| 		repo, err = models.GetRepositoryByName(ctx.Org.Organization.ID, repoName) | ||||
| 		if err != nil { | ||||
|  | ||||
| @ -71,7 +71,7 @@ func uploadAttachment(ctx *context.Context, allowedTypes string) { | ||||
| 
 | ||||
| // DeleteAttachment response for deleting issue's attachment | ||||
| func DeleteAttachment(ctx *context.Context) { | ||||
| 	file := ctx.Form("file") | ||||
| 	file := ctx.FormString("file") | ||||
| 	attach, err := models.GetAttachmentByUUID(file) | ||||
| 	if err != nil { | ||||
| 		ctx.Error(http.StatusBadRequest, err.Error()) | ||||
|  | ||||
| @ -84,7 +84,7 @@ func Branches(ctx *context.Context) { | ||||
| // DeleteBranchPost responses for delete merged branch | ||||
| func DeleteBranchPost(ctx *context.Context) { | ||||
| 	defer redirect(ctx) | ||||
| 	branchName := ctx.Form("name") | ||||
| 	branchName := ctx.FormString("name") | ||||
| 
 | ||||
| 	if err := repo_service.DeleteBranch(ctx.User, ctx.Repo.Repository, ctx.Repo.GitRepo, branchName); err != nil { | ||||
| 		switch { | ||||
| @ -113,7 +113,7 @@ func RestoreBranchPost(ctx *context.Context) { | ||||
| 	defer redirect(ctx) | ||||
| 
 | ||||
| 	branchID := ctx.FormInt64("branch_id") | ||||
| 	branchName := ctx.Form("name") | ||||
| 	branchName := ctx.FormString("name") | ||||
| 
 | ||||
| 	deletedBranch, err := ctx.Repo.Repository.GetDeletedBranchByID(branchID) | ||||
| 	if err != nil { | ||||
|  | ||||
| @ -177,7 +177,7 @@ func SearchCommits(ctx *context.Context) { | ||||
| 	ctx.Data["PageIsCommits"] = true | ||||
| 	ctx.Data["PageIsViewCode"] = true | ||||
| 
 | ||||
| 	query := strings.Trim(ctx.Form("q"), " ") | ||||
| 	query := strings.Trim(ctx.FormString("q"), " ") | ||||
| 	if len(query) == 0 { | ||||
| 		ctx.Redirect(ctx.Repo.RepoLink + "/commits/" + ctx.Repo.BranchNameSubURL()) | ||||
| 		return | ||||
|  | ||||
| @ -700,9 +700,9 @@ func ExcerptBlob(ctx *context.Context) { | ||||
| 	idxRight := ctx.FormInt("right") | ||||
| 	leftHunkSize := ctx.FormInt("left_hunk_size") | ||||
| 	rightHunkSize := ctx.FormInt("right_hunk_size") | ||||
| 	anchor := ctx.Form("anchor") | ||||
| 	direction := ctx.Form("direction") | ||||
| 	filePath := ctx.Form("path") | ||||
| 	anchor := ctx.FormString("anchor") | ||||
| 	direction := ctx.FormString("direction") | ||||
| 	filePath := ctx.FormString("path") | ||||
| 	gitRepo := ctx.Repo.GitRepo | ||||
| 	chunkSize := gitdiff.BlobExcerptChunkSize | ||||
| 	commit, err := gitRepo.GetCommit(commitID) | ||||
|  | ||||
| @ -70,13 +70,13 @@ func httpBase(ctx *context.Context) (h *serviceHandler) { | ||||
| 	username := ctx.Params(":username") | ||||
| 	reponame := strings.TrimSuffix(ctx.Params(":reponame"), ".git") | ||||
| 
 | ||||
| 	if ctx.Form("go-get") == "1" { | ||||
| 	if ctx.FormString("go-get") == "1" { | ||||
| 		context.EarlyResponseForGoGetMeta(ctx) | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	var isPull, receivePack bool | ||||
| 	service := ctx.Form("service") | ||||
| 	service := ctx.FormString("service") | ||||
| 	if service == "git-receive-pack" || | ||||
| 		strings.HasSuffix(ctx.Req.URL.Path, "git-receive-pack") { | ||||
| 		isPull = false | ||||
|  | ||||
| @ -110,8 +110,8 @@ func MustAllowPulls(ctx *context.Context) { | ||||
| 
 | ||||
| func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption util.OptionalBool) { | ||||
| 	var err error | ||||
| 	viewType := ctx.Form("type") | ||||
| 	sortType := ctx.Form("sort") | ||||
| 	viewType := ctx.FormString("type") | ||||
| 	sortType := ctx.FormString("sort") | ||||
| 	types := []string{"all", "your_repositories", "assigned", "created_by", "mentioned", "review_requested"} | ||||
| 	if !util.IsStringInSlice(viewType, types, true) { | ||||
| 		viewType = "all" | ||||
| @ -140,7 +140,7 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti | ||||
| 
 | ||||
| 	repo := ctx.Repo.Repository | ||||
| 	var labelIDs []int64 | ||||
| 	selectLabels := ctx.Form("labels") | ||||
| 	selectLabels := ctx.FormString("labels") | ||||
| 	if len(selectLabels) > 0 && selectLabels != "0" { | ||||
| 		labelIDs, err = base.StringsToInt64s(strings.Split(selectLabels, ",")) | ||||
| 		if err != nil { | ||||
| @ -149,7 +149,7 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	keyword := strings.Trim(ctx.Form("q"), " ") | ||||
| 	keyword := strings.Trim(ctx.FormString("q"), " ") | ||||
| 	if bytes.Contains([]byte(keyword), []byte{0x00}) { | ||||
| 		keyword = "" | ||||
| 	} | ||||
| @ -187,9 +187,9 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	isShowClosed := ctx.Form("state") == "closed" | ||||
| 	isShowClosed := ctx.FormString("state") == "closed" | ||||
| 	// if open issues are zero and close don't, use closed as default | ||||
| 	if len(ctx.Form("state")) == 0 && issueStats.OpenCount == 0 && issueStats.ClosedCount != 0 { | ||||
| 	if len(ctx.FormString("state")) == 0 && issueStats.OpenCount == 0 && issueStats.ClosedCount != 0 { | ||||
| 		isShowClosed = true | ||||
| 	} | ||||
| 
 | ||||
| @ -285,7 +285,7 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti | ||||
| 	} | ||||
| 
 | ||||
| 	if repo.Owner.IsOrganization() { | ||||
| 		orgLabels, err := models.GetLabelsByOrgID(repo.Owner.ID, ctx.Form("sort"), models.ListOptions{}) | ||||
| 		orgLabels, err := models.GetLabelsByOrgID(repo.Owner.ID, ctx.FormString("sort"), models.ListOptions{}) | ||||
| 		if err != nil { | ||||
| 			ctx.ServerError("GetLabelsByOrgID", err) | ||||
| 			return | ||||
| @ -380,7 +380,7 @@ func Issues(ctx *context.Context) { | ||||
| 	// Get milestones | ||||
| 	ctx.Data["Milestones"], err = models.GetMilestones(models.GetMilestonesOption{ | ||||
| 		RepoID: ctx.Repo.Repository.ID, | ||||
| 		State:  api.StateType(ctx.Form("state")), | ||||
| 		State:  api.StateType(ctx.FormString("state")), | ||||
| 	}) | ||||
| 	if err != nil { | ||||
| 		ctx.ServerError("GetAllRepoMilestones", err) | ||||
| @ -655,7 +655,7 @@ func RetrieveRepoMetas(ctx *context.Context, repo *models.Repository, isPull boo | ||||
| 	} | ||||
| 	ctx.Data["Labels"] = labels | ||||
| 	if repo.Owner.IsOrganization() { | ||||
| 		orgLabels, err := models.GetLabelsByOrgID(repo.Owner.ID, ctx.Form("sort"), models.ListOptions{}) | ||||
| 		orgLabels, err := models.GetLabelsByOrgID(repo.Owner.ID, ctx.FormString("sort"), models.ListOptions{}) | ||||
| 		if err != nil { | ||||
| 			return nil | ||||
| 		} | ||||
| @ -719,9 +719,9 @@ func getFileContentFromDefaultBranch(ctx *context.Context, filename string) (str | ||||
| 
 | ||||
| func setTemplateIfExists(ctx *context.Context, ctxDataKey string, possibleDirs []string, possibleFiles []string) { | ||||
| 	templateCandidates := make([]string, 0, len(possibleFiles)) | ||||
| 	if ctx.Form("template") != "" { | ||||
| 	if ctx.FormString("template") != "" { | ||||
| 		for _, dirName := range possibleDirs { | ||||
| 			templateCandidates = append(templateCandidates, path.Join(dirName, ctx.Form("template"))) | ||||
| 			templateCandidates = append(templateCandidates, path.Join(dirName, ctx.FormString("template"))) | ||||
| 		} | ||||
| 	} | ||||
| 	templateCandidates = append(templateCandidates, possibleFiles...) // Append files to the end because they should be fallback | ||||
| @ -741,7 +741,7 @@ func setTemplateIfExists(ctx *context.Context, ctxDataKey string, possibleDirs [ | ||||
| 			if repoLabels, err := models.GetLabelsByRepoID(ctx.Repo.Repository.ID, "", models.ListOptions{}); err == nil { | ||||
| 				ctx.Data["Labels"] = repoLabels | ||||
| 				if ctx.Repo.Owner.IsOrganization() { | ||||
| 					if orgLabels, err := models.GetLabelsByOrgID(ctx.Repo.Owner.ID, ctx.Form("sort"), models.ListOptions{}); err == nil { | ||||
| 					if orgLabels, err := models.GetLabelsByOrgID(ctx.Repo.Owner.ID, ctx.FormString("sort"), models.ListOptions{}); err == nil { | ||||
| 						ctx.Data["OrgLabels"] = orgLabels | ||||
| 						repoLabels = append(repoLabels, orgLabels...) | ||||
| 					} | ||||
| @ -773,9 +773,9 @@ func NewIssue(ctx *context.Context) { | ||||
| 	ctx.Data["RequireSimpleMDE"] = true | ||||
| 	ctx.Data["RequireTribute"] = true | ||||
| 	ctx.Data["PullRequestWorkInProgressPrefixes"] = setting.Repository.PullRequest.WorkInProgressPrefixes | ||||
| 	title := ctx.Form("title") | ||||
| 	title := ctx.FormString("title") | ||||
| 	ctx.Data["TitleQuery"] = title | ||||
| 	body := ctx.Form("body") | ||||
| 	body := ctx.FormString("body") | ||||
| 	ctx.Data["BodyQuery"] = body | ||||
| 
 | ||||
| 	ctx.Data["IsProjectsEnabled"] = ctx.Repo.CanRead(models.UnitTypeProjects) | ||||
| @ -1174,7 +1174,7 @@ func ViewIssue(ctx *context.Context) { | ||||
| 	ctx.Data["Labels"] = labels | ||||
| 
 | ||||
| 	if repo.Owner.IsOrganization() { | ||||
| 		orgLabels, err := models.GetLabelsByOrgID(repo.Owner.ID, ctx.Form("sort"), models.ListOptions{}) | ||||
| 		orgLabels, err := models.GetLabelsByOrgID(repo.Owner.ID, ctx.FormString("sort"), models.ListOptions{}) | ||||
| 		if err != nil { | ||||
| 			ctx.ServerError("GetLabelsByOrgID", err) | ||||
| 			return | ||||
| @ -1624,7 +1624,7 @@ func checkIssueRights(ctx *context.Context, issue *models.Issue) { | ||||
| } | ||||
| 
 | ||||
| func getActionIssues(ctx *context.Context) []*models.Issue { | ||||
| 	commaSeparatedIssueIDs := ctx.Form("issue_ids") | ||||
| 	commaSeparatedIssueIDs := ctx.FormString("issue_ids") | ||||
| 	if len(commaSeparatedIssueIDs) == 0 { | ||||
| 		return nil | ||||
| 	} | ||||
| @ -1722,7 +1722,7 @@ func UpdateIssueContent(ctx *context.Context) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	content := ctx.Form("content") | ||||
| 	content := ctx.FormString("content") | ||||
| 	if err := issue_service.ChangeContent(issue, ctx.User, content); err != nil { | ||||
| 		ctx.ServerError("ChangeContent", err) | ||||
| 		return | ||||
| @ -1735,7 +1735,7 @@ func UpdateIssueContent(ctx *context.Context) { | ||||
| 	} | ||||
| 
 | ||||
| 	content, err := markdown.RenderString(&markup.RenderContext{ | ||||
| 		URLPrefix: ctx.Form("context"), | ||||
| 		URLPrefix: ctx.FormString("context"), | ||||
| 		Metas:     ctx.Repo.Repository.ComposeMetas(), | ||||
| 		GitRepo:   ctx.Repo.GitRepo, | ||||
| 	}, issue.Content) | ||||
| @ -1783,7 +1783,7 @@ func UpdateIssueAssignee(ctx *context.Context) { | ||||
| 	} | ||||
| 
 | ||||
| 	assigneeID := ctx.FormInt64("id") | ||||
| 	action := ctx.Form("action") | ||||
| 	action := ctx.FormString("action") | ||||
| 
 | ||||
| 	for _, issue := range issues { | ||||
| 		switch action { | ||||
| @ -1829,7 +1829,7 @@ func UpdatePullReviewRequest(ctx *context.Context) { | ||||
| 	} | ||||
| 
 | ||||
| 	reviewID := ctx.FormInt64("id") | ||||
| 	action := ctx.Form("action") | ||||
| 	action := ctx.FormString("action") | ||||
| 
 | ||||
| 	// TODO: Not support 'clear' now | ||||
| 	if action != "attach" && action != "detach" { | ||||
| @ -1954,7 +1954,7 @@ func UpdateIssueStatus(ctx *context.Context) { | ||||
| 	} | ||||
| 
 | ||||
| 	var isClosed bool | ||||
| 	switch action := ctx.Form("action"); action { | ||||
| 	switch action := ctx.FormString("action"); action { | ||||
| 	case "open": | ||||
| 		isClosed = false | ||||
| 	case "close": | ||||
| @ -2145,7 +2145,7 @@ func UpdateCommentContent(ctx *context.Context) { | ||||
| 	} | ||||
| 
 | ||||
| 	oldContent := comment.Content | ||||
| 	comment.Content = ctx.Form("content") | ||||
| 	comment.Content = ctx.FormString("content") | ||||
| 	if len(comment.Content) == 0 { | ||||
| 		ctx.JSON(http.StatusOK, map[string]interface{}{ | ||||
| 			"content": "", | ||||
| @ -2164,7 +2164,7 @@ func UpdateCommentContent(ctx *context.Context) { | ||||
| 	} | ||||
| 
 | ||||
| 	content, err := markdown.RenderString(&markup.RenderContext{ | ||||
| 		URLPrefix: ctx.Form("context"), | ||||
| 		URLPrefix: ctx.FormString("context"), | ||||
| 		Metas:     ctx.Repo.Repository.ComposeMetas(), | ||||
| 		GitRepo:   ctx.Repo.GitRepo, | ||||
| 	}, comment.Content) | ||||
|  | ||||
| @ -53,7 +53,7 @@ func InitializeLabels(ctx *context.Context) { | ||||
| 
 | ||||
| // RetrieveLabels find all the labels of a repository and organization | ||||
| func RetrieveLabels(ctx *context.Context) { | ||||
| 	labels, err := models.GetLabelsByRepoID(ctx.Repo.Repository.ID, ctx.Form("sort"), models.ListOptions{}) | ||||
| 	labels, err := models.GetLabelsByRepoID(ctx.Repo.Repository.ID, ctx.FormString("sort"), models.ListOptions{}) | ||||
| 	if err != nil { | ||||
| 		ctx.ServerError("RetrieveLabels.GetLabels", err) | ||||
| 		return | ||||
| @ -66,7 +66,7 @@ func RetrieveLabels(ctx *context.Context) { | ||||
| 	ctx.Data["Labels"] = labels | ||||
| 
 | ||||
| 	if ctx.Repo.Owner.IsOrganization() { | ||||
| 		orgLabels, err := models.GetLabelsByOrgID(ctx.Repo.Owner.ID, ctx.Form("sort"), models.ListOptions{}) | ||||
| 		orgLabels, err := models.GetLabelsByOrgID(ctx.Repo.Owner.ID, ctx.FormString("sort"), models.ListOptions{}) | ||||
| 		if err != nil { | ||||
| 			ctx.ServerError("GetLabelsByOrgID", err) | ||||
| 			return | ||||
| @ -93,7 +93,7 @@ func RetrieveLabels(ctx *context.Context) { | ||||
| 		} | ||||
| 	} | ||||
| 	ctx.Data["NumLabels"] = len(labels) | ||||
| 	ctx.Data["SortType"] = ctx.Form("sort") | ||||
| 	ctx.Data["SortType"] = ctx.FormString("sort") | ||||
| } | ||||
| 
 | ||||
| // NewLabel create new label for repository | ||||
| @ -165,7 +165,7 @@ func UpdateIssueLabel(ctx *context.Context) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	switch action := ctx.Form("action"); action { | ||||
| 	switch action := ctx.FormString("action"); action { | ||||
| 	case "clear": | ||||
| 		for _, issue := range issues { | ||||
| 			if err := issue_service.ClearLabels(issue, ctx.User); err != nil { | ||||
|  | ||||
| @ -195,7 +195,7 @@ func LFSLockFile(ctx *context.Context) { | ||||
| 		ctx.NotFound("LFSLocks", nil) | ||||
| 		return | ||||
| 	} | ||||
| 	originalPath := ctx.Form("path") | ||||
| 	originalPath := ctx.FormString("path") | ||||
| 	lockPath := originalPath | ||||
| 	if len(lockPath) == 0 { | ||||
| 		ctx.Flash.Error(ctx.Tr("repo.settings.lfs_invalid_locking_path", originalPath)) | ||||
| @ -366,13 +366,13 @@ func LFSFileFind(ctx *context.Context) { | ||||
| 		ctx.NotFound("LFSFind", nil) | ||||
| 		return | ||||
| 	} | ||||
| 	oid := ctx.Form("oid") | ||||
| 	oid := ctx.FormString("oid") | ||||
| 	size := ctx.FormInt64("size") | ||||
| 	if len(oid) == 0 || size == 0 { | ||||
| 		ctx.NotFound("LFSFind", nil) | ||||
| 		return | ||||
| 	} | ||||
| 	sha := ctx.Form("sha") | ||||
| 	sha := ctx.FormString("sha") | ||||
| 	ctx.Data["Title"] = oid | ||||
| 	ctx.Data["PageIsSettingsLFS"] = true | ||||
| 	var hash git.SHA1 | ||||
|  | ||||
| @ -34,7 +34,7 @@ func SetEditorconfigIfExists(ctx *context.Context) { | ||||
| 
 | ||||
| // SetDiffViewStyle set diff style as render variable | ||||
| func SetDiffViewStyle(ctx *context.Context) { | ||||
| 	queryStyle := ctx.Form("style") | ||||
| 	queryStyle := ctx.FormString("style") | ||||
| 
 | ||||
| 	if !ctx.IsSigned { | ||||
| 		ctx.Data["IsSplitStyle"] = queryStyle == "split" | ||||
| @ -62,7 +62,7 @@ func SetDiffViewStyle(ctx *context.Context) { | ||||
| 
 | ||||
| // SetWhitespaceBehavior set whitespace behavior as render variable | ||||
| func SetWhitespaceBehavior(ctx *context.Context) { | ||||
| 	whitespaceBehavior := ctx.Form("whitespace") | ||||
| 	whitespaceBehavior := ctx.FormString("whitespace") | ||||
| 	switch whitespaceBehavior { | ||||
| 	case "ignore-all", "ignore-eol", "ignore-change": | ||||
| 		ctx.Data["WhitespaceBehavior"] = whitespaceBehavior | ||||
|  | ||||
| @ -39,22 +39,22 @@ func Migrate(ctx *context.Context) { | ||||
| 	setMigrationContextData(ctx, serviceType) | ||||
| 
 | ||||
| 	if serviceType == 0 { | ||||
| 		ctx.Data["Org"] = ctx.Form("org") | ||||
| 		ctx.Data["Mirror"] = ctx.Form("mirror") | ||||
| 		ctx.Data["Org"] = ctx.FormString("org") | ||||
| 		ctx.Data["Mirror"] = ctx.FormString("mirror") | ||||
| 
 | ||||
| 		ctx.HTML(http.StatusOK, tplMigrate) | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	ctx.Data["private"] = getRepoPrivate(ctx) | ||||
| 	ctx.Data["mirror"] = ctx.Form("mirror") == "1" | ||||
| 	ctx.Data["lfs"] = ctx.Form("lfs") == "1" | ||||
| 	ctx.Data["wiki"] = ctx.Form("wiki") == "1" | ||||
| 	ctx.Data["milestones"] = ctx.Form("milestones") == "1" | ||||
| 	ctx.Data["labels"] = ctx.Form("labels") == "1" | ||||
| 	ctx.Data["issues"] = ctx.Form("issues") == "1" | ||||
| 	ctx.Data["pull_requests"] = ctx.Form("pull_requests") == "1" | ||||
| 	ctx.Data["releases"] = ctx.Form("releases") == "1" | ||||
| 	ctx.Data["mirror"] = ctx.FormString("mirror") == "1" | ||||
| 	ctx.Data["lfs"] = ctx.FormString("lfs") == "1" | ||||
| 	ctx.Data["wiki"] = ctx.FormString("wiki") == "1" | ||||
| 	ctx.Data["milestones"] = ctx.FormString("milestones") == "1" | ||||
| 	ctx.Data["labels"] = ctx.FormString("labels") == "1" | ||||
| 	ctx.Data["issues"] = ctx.FormString("issues") == "1" | ||||
| 	ctx.Data["pull_requests"] = ctx.FormString("pull_requests") == "1" | ||||
| 	ctx.Data["releases"] = ctx.FormString("releases") == "1" | ||||
| 
 | ||||
| 	ctxUser := checkContextUser(ctx, ctx.FormInt64("org")) | ||||
| 	if ctx.Written() { | ||||
|  | ||||
| @ -36,7 +36,7 @@ func Milestones(ctx *context.Context) { | ||||
| 	ctx.Data["PageIsIssueList"] = true | ||||
| 	ctx.Data["PageIsMilestones"] = true | ||||
| 
 | ||||
| 	isShowClosed := ctx.Form("state") == "closed" | ||||
| 	isShowClosed := ctx.FormString("state") == "closed" | ||||
| 	stats, err := models.GetMilestonesStatsByRepoCond(builder.And(builder.Eq{"id": ctx.Repo.Repository.ID})) | ||||
| 	if err != nil { | ||||
| 		ctx.ServerError("MilestoneStats", err) | ||||
| @ -45,9 +45,9 @@ func Milestones(ctx *context.Context) { | ||||
| 	ctx.Data["OpenCount"] = stats.OpenCount | ||||
| 	ctx.Data["ClosedCount"] = stats.ClosedCount | ||||
| 
 | ||||
| 	sortType := ctx.Form("sort") | ||||
| 	sortType := ctx.FormString("sort") | ||||
| 
 | ||||
| 	keyword := strings.Trim(ctx.Form("q"), " ") | ||||
| 	keyword := strings.Trim(ctx.FormString("q"), " ") | ||||
| 
 | ||||
| 	page := ctx.FormInt("page") | ||||
| 	if page <= 1 { | ||||
|  | ||||
| @ -1129,8 +1129,8 @@ func CompareAndPullRequestPost(ctx *context.Context) { | ||||
| // TriggerTask response for a trigger task request | ||||
| func TriggerTask(ctx *context.Context) { | ||||
| 	pusherID := ctx.FormInt64("pusher") | ||||
| 	branch := ctx.Form("branch") | ||||
| 	secret := ctx.Form("secret") | ||||
| 	branch := ctx.FormString("branch") | ||||
| 	secret := ctx.FormString("secret") | ||||
| 	if len(branch) == 0 || len(secret) == 0 || pusherID <= 0 { | ||||
| 		ctx.Error(http.StatusNotFound) | ||||
| 		log.Trace("TriggerTask: branch or secret is empty, or pusher ID is not valid") | ||||
|  | ||||
| @ -101,8 +101,8 @@ func CreateCodeComment(ctx *context.Context) { | ||||
| 
 | ||||
| // UpdateResolveConversation add or remove an Conversation resolved mark | ||||
| func UpdateResolveConversation(ctx *context.Context) { | ||||
| 	origin := ctx.Form("origin") | ||||
| 	action := ctx.Form("action") | ||||
| 	origin := ctx.FormString("origin") | ||||
| 	action := ctx.FormString("action") | ||||
| 	commentID := ctx.FormInt64("comment_id") | ||||
| 
 | ||||
| 	comment, err := models.GetCommentByID(commentID) | ||||
|  | ||||
| @ -252,7 +252,7 @@ func NewRelease(ctx *context.Context) { | ||||
| 	ctx.Data["RequireSimpleMDE"] = true | ||||
| 	ctx.Data["RequireTribute"] = true | ||||
| 	ctx.Data["tag_target"] = ctx.Repo.Repository.DefaultBranch | ||||
| 	if tagName := ctx.Form("tag"); len(tagName) > 0 { | ||||
| 	if tagName := ctx.FormString("tag"); len(tagName) > 0 { | ||||
| 		rel, err := models.GetRelease(ctx.Repo.Repository.ID, tagName) | ||||
| 		if err != nil && !models.IsErrReleaseNotExist(err) { | ||||
| 			ctx.ServerError("GetRelease", err) | ||||
|  | ||||
| @ -291,8 +291,8 @@ func Action(ctx *context.Context) { | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		ctx.Repo.Repository.Description = ctx.Form("desc") | ||||
| 		ctx.Repo.Repository.Website = ctx.Form("site") | ||||
| 		ctx.Repo.Repository.Description = ctx.FormString("desc") | ||||
| 		ctx.Repo.Repository.Website = ctx.FormString("site") | ||||
| 		err = models.UpdateRepository(ctx.Repo.Repository, false) | ||||
| 	} | ||||
| 
 | ||||
| @ -301,7 +301,7 @@ func Action(ctx *context.Context) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	ctx.RedirectToFirst(ctx.Form("redirect_to"), ctx.Repo.RepoLink) | ||||
| 	ctx.RedirectToFirst(ctx.FormString("redirect_to"), ctx.Repo.RepoLink) | ||||
| } | ||||
| 
 | ||||
| func acceptOrRejectRepoTransfer(ctx *context.Context, accept bool) error { | ||||
|  | ||||
| @ -22,13 +22,13 @@ func Search(ctx *context.Context) { | ||||
| 		ctx.Redirect(ctx.Repo.RepoLink, 302) | ||||
| 		return | ||||
| 	} | ||||
| 	language := strings.TrimSpace(ctx.Form("l")) | ||||
| 	keyword := strings.TrimSpace(ctx.Form("q")) | ||||
| 	language := strings.TrimSpace(ctx.FormString("l")) | ||||
| 	keyword := strings.TrimSpace(ctx.FormString("q")) | ||||
| 	page := ctx.FormInt("page") | ||||
| 	if page <= 0 { | ||||
| 		page = 1 | ||||
| 	} | ||||
| 	queryType := strings.TrimSpace(ctx.Form("t")) | ||||
| 	queryType := strings.TrimSpace(ctx.FormString("t")) | ||||
| 	isMatch := queryType == "match" | ||||
| 
 | ||||
| 	total, searchResults, searchResultLanguages, err := code_indexer.PerformSearch([]int64{ctx.Repo.Repository.ID}, | ||||
|  | ||||
| @ -70,7 +70,7 @@ func SettingsPost(ctx *context.Context) { | ||||
| 
 | ||||
| 	repo := ctx.Repo.Repository | ||||
| 
 | ||||
| 	switch ctx.Form("action") { | ||||
| 	switch ctx.FormString("action") { | ||||
| 	case "update": | ||||
| 		if ctx.HasError() { | ||||
| 			ctx.HTML(http.StatusOK, tplSettingsOptions) | ||||
| @ -560,7 +560,7 @@ func SettingsPost(ctx *context.Context) { | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		newOwner, err := models.GetUserByName(ctx.Form("new_owner_name")) | ||||
| 		newOwner, err := models.GetUserByName(ctx.FormString("new_owner_name")) | ||||
| 		if err != nil { | ||||
| 			if models.IsErrUserNotExist(err) { | ||||
| 				ctx.RenderWithErr(ctx.Tr("form.enterred_invalid_owner_name"), tplSettingsOptions, nil) | ||||
| @ -775,7 +775,7 @@ func Collaboration(ctx *context.Context) { | ||||
| 
 | ||||
| // CollaborationPost response for actions for a collaboration of a repository | ||||
| func CollaborationPost(ctx *context.Context) { | ||||
| 	name := utils.RemoveUsernameParameterSuffix(strings.ToLower(ctx.Form("collaborator"))) | ||||
| 	name := utils.RemoveUsernameParameterSuffix(strings.ToLower(ctx.FormString("collaborator"))) | ||||
| 	if len(name) == 0 || ctx.Repo.Owner.LowerName == name { | ||||
| 		ctx.Redirect(setting.AppSubURL + ctx.Req.URL.Path) | ||||
| 		return | ||||
| @ -854,7 +854,7 @@ func AddTeamPost(ctx *context.Context) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	name := utils.RemoveUsernameParameterSuffix(strings.ToLower(ctx.Form("team"))) | ||||
| 	name := utils.RemoveUsernameParameterSuffix(strings.ToLower(ctx.FormString("team"))) | ||||
| 	if len(name) == 0 { | ||||
| 		ctx.Redirect(ctx.Repo.RepoLink + "/settings/collaboration") | ||||
| 		return | ||||
| @ -988,7 +988,7 @@ func GitHooksEditPost(ctx *context.Context) { | ||||
| 		} | ||||
| 		return | ||||
| 	} | ||||
| 	hook.Content = ctx.Form("content") | ||||
| 	hook.Content = ctx.FormString("content") | ||||
| 	if err = hook.Update(); err != nil { | ||||
| 		ctx.ServerError("hook.Update", err) | ||||
| 		return | ||||
|  | ||||
| @ -60,14 +60,14 @@ func ProtectedBranchPost(ctx *context.Context) { | ||||
| 
 | ||||
| 	repo := ctx.Repo.Repository | ||||
| 
 | ||||
| 	switch ctx.Form("action") { | ||||
| 	switch ctx.FormString("action") { | ||||
| 	case "default_branch": | ||||
| 		if ctx.HasError() { | ||||
| 			ctx.HTML(http.StatusOK, tplBranches) | ||||
| 			return | ||||
| 		} | ||||
| 
 | ||||
| 		branch := ctx.Form("branch") | ||||
| 		branch := ctx.FormString("branch") | ||||
| 		if !ctx.Repo.GitRepo.IsBranchExist(branch) { | ||||
| 			ctx.Status(404) | ||||
| 			return | ||||
|  | ||||
| @ -23,7 +23,7 @@ func TopicsPost(ctx *context.Context) { | ||||
| 	} | ||||
| 
 | ||||
| 	var topics = make([]string, 0) | ||||
| 	var topicsStr = strings.TrimSpace(ctx.Form("topics")) | ||||
| 	var topicsStr = strings.TrimSpace(ctx.FormString("topics")) | ||||
| 	if len(topicsStr) > 0 { | ||||
| 		topics = strings.Split(topicsStr, ",") | ||||
| 	} | ||||
|  | ||||
| @ -416,7 +416,7 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st | ||||
| 	isTextFile := st.IsText() | ||||
| 
 | ||||
| 	isLFSFile := false | ||||
| 	isDisplayingSource := ctx.Form("display") == "source" | ||||
| 	isDisplayingSource := ctx.FormString("display") == "source" | ||||
| 	isDisplayingRendered := !isDisplayingSource | ||||
| 
 | ||||
| 	//Check for LFS meta file | ||||
|  | ||||
| @ -111,7 +111,7 @@ func checkAutoLogin(ctx *context.Context) bool { | ||||
| 		return true | ||||
| 	} | ||||
| 
 | ||||
| 	redirectTo := ctx.Form("redirect_to") | ||||
| 	redirectTo := ctx.FormString("redirect_to") | ||||
| 	if len(redirectTo) > 0 { | ||||
| 		middleware.SetRedirectToCookie(ctx.Resp, redirectTo) | ||||
| 	} else { | ||||
| @ -1333,7 +1333,7 @@ func handleUserCreated(ctx *context.Context, u *models.User, gothUser *goth.User | ||||
| 
 | ||||
| // Activate render activate user page | ||||
| func Activate(ctx *context.Context) { | ||||
| 	code := ctx.Form("code") | ||||
| 	code := ctx.FormString("code") | ||||
| 
 | ||||
| 	if len(code) == 0 { | ||||
| 		ctx.Data["IsActivatePage"] = true | ||||
| @ -1381,7 +1381,7 @@ func Activate(ctx *context.Context) { | ||||
| 
 | ||||
| // ActivatePost handles account activation with password check | ||||
| func ActivatePost(ctx *context.Context) { | ||||
| 	code := ctx.Form("code") | ||||
| 	code := ctx.FormString("code") | ||||
| 	if len(code) == 0 { | ||||
| 		ctx.Redirect(setting.AppSubURL + "/user/activate") | ||||
| 		return | ||||
| @ -1397,7 +1397,7 @@ func ActivatePost(ctx *context.Context) { | ||||
| 
 | ||||
| 	// if account is local account, verify password | ||||
| 	if user.LoginSource == 0 { | ||||
| 		password := ctx.Form("password") | ||||
| 		password := ctx.FormString("password") | ||||
| 		if len(password) == 0 { | ||||
| 			ctx.Data["Code"] = code | ||||
| 			ctx.Data["NeedsPassword"] = true | ||||
| @ -1454,8 +1454,8 @@ func handleAccountActivation(ctx *context.Context, user *models.User) { | ||||
| 
 | ||||
| // ActivateEmail render the activate email page | ||||
| func ActivateEmail(ctx *context.Context) { | ||||
| 	code := ctx.Form("code") | ||||
| 	emailStr := ctx.Form("email") | ||||
| 	code := ctx.FormString("code") | ||||
| 	emailStr := ctx.FormString("email") | ||||
| 
 | ||||
| 	// Verify code. | ||||
| 	if email := models.VerifyActiveEmailCode(code, emailStr); email != nil { | ||||
| @ -1491,7 +1491,7 @@ func ForgotPasswd(ctx *context.Context) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	email := ctx.Form("email") | ||||
| 	email := ctx.FormString("email") | ||||
| 	ctx.Data["Email"] = email | ||||
| 
 | ||||
| 	ctx.Data["IsResetRequest"] = true | ||||
| @ -1508,7 +1508,7 @@ func ForgotPasswdPost(ctx *context.Context) { | ||||
| 	} | ||||
| 	ctx.Data["IsResetRequest"] = true | ||||
| 
 | ||||
| 	email := ctx.Form("email") | ||||
| 	email := ctx.FormString("email") | ||||
| 	ctx.Data["Email"] = email | ||||
| 
 | ||||
| 	u, err := models.GetUserByEmail(email) | ||||
| @ -1548,7 +1548,7 @@ func ForgotPasswdPost(ctx *context.Context) { | ||||
| } | ||||
| 
 | ||||
| func commonResetPassword(ctx *context.Context) (*models.User, *models.TwoFactor) { | ||||
| 	code := ctx.Form("code") | ||||
| 	code := ctx.FormString("code") | ||||
| 
 | ||||
| 	ctx.Data["Title"] = ctx.Tr("auth.reset_password") | ||||
| 	ctx.Data["Code"] = code | ||||
| @ -1617,7 +1617,7 @@ func ResetPasswdPost(ctx *context.Context) { | ||||
| 	} | ||||
| 
 | ||||
| 	// Validate password length. | ||||
| 	passwd := ctx.Form("password") | ||||
| 	passwd := ctx.FormString("password") | ||||
| 	if len(passwd) < setting.MinPasswordLength { | ||||
| 		ctx.Data["IsResetForm"] = true | ||||
| 		ctx.Data["Err_Password"] = true | ||||
| @ -1644,7 +1644,7 @@ func ResetPasswdPost(ctx *context.Context) { | ||||
| 	regenerateScratchToken := false | ||||
| 	if twofa != nil { | ||||
| 		if ctx.FormBool("scratch_code") { | ||||
| 			if !twofa.VerifyScratchToken(ctx.Form("token")) { | ||||
| 			if !twofa.VerifyScratchToken(ctx.FormString("token")) { | ||||
| 				ctx.Data["IsResetForm"] = true | ||||
| 				ctx.Data["Err_Token"] = true | ||||
| 				ctx.RenderWithErr(ctx.Tr("auth.twofa_scratch_token_incorrect"), tplResetPassword, nil) | ||||
| @ -1652,7 +1652,7 @@ func ResetPasswdPost(ctx *context.Context) { | ||||
| 			} | ||||
| 			regenerateScratchToken = true | ||||
| 		} else { | ||||
| 			passcode := ctx.Form("passcode") | ||||
| 			passcode := ctx.FormString("passcode") | ||||
| 			ok, err := twofa.ValidateTOTP(passcode) | ||||
| 			if err != nil { | ||||
| 				ctx.Error(http.StatusInternalServerError, "ValidateTOTP", err.Error()) | ||||
| @ -1689,7 +1689,7 @@ func ResetPasswdPost(ctx *context.Context) { | ||||
| 
 | ||||
| 	log.Trace("User password reset: %s", u.Name) | ||||
| 	ctx.Data["IsResetFailed"] = true | ||||
| 	remember := len(ctx.Form("remember")) != 0 | ||||
| 	remember := len(ctx.FormString("remember")) != 0 | ||||
| 
 | ||||
| 	if regenerateScratchToken { | ||||
| 		// Invalidate the scratch token. | ||||
|  | ||||
| @ -34,7 +34,7 @@ const ( | ||||
| func SignInOpenID(ctx *context.Context) { | ||||
| 	ctx.Data["Title"] = ctx.Tr("sign_in") | ||||
| 
 | ||||
| 	if ctx.Form("openid.return_to") != "" { | ||||
| 	if ctx.FormString("openid.return_to") != "" { | ||||
| 		signInOpenIDVerify(ctx) | ||||
| 		return | ||||
| 	} | ||||
| @ -46,7 +46,7 @@ func SignInOpenID(ctx *context.Context) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	redirectTo := ctx.Form("redirect_to") | ||||
| 	redirectTo := ctx.FormString("redirect_to") | ||||
| 	if len(redirectTo) > 0 { | ||||
| 		middleware.SetRedirectToCookie(ctx.Resp, redirectTo) | ||||
| 	} else { | ||||
|  | ||||
| @ -157,7 +157,7 @@ func Dashboard(ctx *context.Context) { | ||||
| 		IncludePrivate:  true, | ||||
| 		OnlyPerformedBy: false, | ||||
| 		IncludeDeleted:  false, | ||||
| 		Date:            ctx.Form("date"), | ||||
| 		Date:            ctx.FormString("date"), | ||||
| 	}) | ||||
| 
 | ||||
| 	if ctx.Written() { | ||||
| @ -200,11 +200,11 @@ func Milestones(ctx *context.Context) { | ||||
| 		repoCond     = userRepoCond | ||||
| 		repoIDs      []int64 | ||||
| 
 | ||||
| 		reposQuery   = ctx.Form("repos") | ||||
| 		isShowClosed = ctx.Form("state") == "closed" | ||||
| 		sortType     = ctx.Form("sort") | ||||
| 		reposQuery   = ctx.FormString("repos") | ||||
| 		isShowClosed = ctx.FormString("state") == "closed" | ||||
| 		sortType     = ctx.FormString("sort") | ||||
| 		page         = ctx.FormInt("page") | ||||
| 		keyword      = strings.Trim(ctx.Form("q"), " ") | ||||
| 		keyword      = strings.Trim(ctx.FormString("q"), " ") | ||||
| 	) | ||||
| 
 | ||||
| 	if page <= 1 { | ||||
| @ -380,7 +380,7 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) { | ||||
| 
 | ||||
| 	var ( | ||||
| 		viewType   string | ||||
| 		sortType   = ctx.Form("sort") | ||||
| 		sortType   = ctx.FormString("sort") | ||||
| 		filterMode = models.FilterModeAll | ||||
| 	) | ||||
| 
 | ||||
| @ -390,14 +390,14 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) { | ||||
| 	// - Remember pre-determined viewType string for later. Will be posted to ctx.Data. | ||||
| 	//   Organization does not have view type and filter mode. | ||||
| 	// User: | ||||
| 	// - Use ctx.Form("type") to determine filterMode. | ||||
| 	// - Use ctx.FormString("type") to determine filterMode. | ||||
| 	//  The type is set when clicking for example "assigned to me" on the overview page. | ||||
| 	// - Remember either this or a fallback. Will be posted to ctx.Data. | ||||
| 	// -------------------------------------------------------------------------------- | ||||
| 
 | ||||
| 	// TODO: distinguish during routing | ||||
| 
 | ||||
| 	viewType = ctx.Form("type") | ||||
| 	viewType = ctx.FormString("type") | ||||
| 	switch viewType { | ||||
| 	case "assigned": | ||||
| 		filterMode = models.FilterModeAssign | ||||
| @ -456,7 +456,7 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) { | ||||
| 	} | ||||
| 
 | ||||
| 	// keyword holds the search term entered into the search field. | ||||
| 	keyword := strings.Trim(ctx.Form("q"), " ") | ||||
| 	keyword := strings.Trim(ctx.FormString("q"), " ") | ||||
| 	ctx.Data["Keyword"] = keyword | ||||
| 
 | ||||
| 	// Execute keyword search for issues. | ||||
| @ -477,7 +477,7 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) { | ||||
| 	} | ||||
| 
 | ||||
| 	// Educated guess: Do or don't show closed issues. | ||||
| 	isShowClosed := ctx.Form("state") == "closed" | ||||
| 	isShowClosed := ctx.FormString("state") == "closed" | ||||
| 	opts.IsClosed = util.OptionalBoolOf(isShowClosed) | ||||
| 
 | ||||
| 	// Filter repos and count issues in them. Count will be used later. | ||||
| @ -502,7 +502,7 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) { | ||||
| 	// Get IDs for labels (a filter option for issues/pulls). | ||||
| 	// Required for IssuesOptions. | ||||
| 	var labelIDs []int64 | ||||
| 	selectedLabels := ctx.Form("labels") | ||||
| 	selectedLabels := ctx.FormString("labels") | ||||
| 	if len(selectedLabels) > 0 && selectedLabels != "0" { | ||||
| 		labelIDs, err = base.StringsToInt64s(strings.Split(selectedLabels, ",")) | ||||
| 		if err != nil { | ||||
| @ -512,9 +512,9 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) { | ||||
| 	} | ||||
| 	opts.LabelIDs = labelIDs | ||||
| 
 | ||||
| 	// Parse ctx.Form("repos") and remember matched repo IDs for later. | ||||
| 	// Parse ctx.FormString("repos") and remember matched repo IDs for later. | ||||
| 	// Gets set when clicking filters on the issues overview page. | ||||
| 	repoIDs := getRepoIDs(ctx.Form("repos")) | ||||
| 	repoIDs := getRepoIDs(ctx.FormString("repos")) | ||||
| 	if len(repoIDs) > 0 { | ||||
| 		opts.RepoIDs = repoIDs | ||||
| 	} | ||||
| @ -658,7 +658,7 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) { | ||||
| 	ctx.Data["IsShowClosed"] = isShowClosed | ||||
| 
 | ||||
| 	ctx.Data["IssueRefEndNames"], ctx.Data["IssueRefURLs"] = | ||||
| 		issue_service.GetRefEndNamesAndURLs(issues, ctx.Form("RepoLink")) | ||||
| 		issue_service.GetRefEndNamesAndURLs(issues, ctx.FormString("RepoLink")) | ||||
| 
 | ||||
| 	ctx.Data["Issues"] = issues | ||||
| 
 | ||||
| @ -900,7 +900,7 @@ func ShowGPGKeys(ctx *context.Context, uid int64) { | ||||
| 
 | ||||
| // Email2User show user page via email | ||||
| func Email2User(ctx *context.Context) { | ||||
| 	u, err := models.GetUserByEmail(ctx.Form("email")) | ||||
| 	u, err := models.GetUserByEmail(ctx.FormString("email")) | ||||
| 	if err != nil { | ||||
| 		if models.IsErrUserNotExist(err) { | ||||
| 			ctx.NotFound("GetUserByEmail", err) | ||||
|  | ||||
| @ -50,7 +50,7 @@ func Notifications(c *context.Context) { | ||||
| 		return | ||||
| 	} | ||||
| 	if c.FormBool("div-only") { | ||||
| 		c.Data["SequenceNumber"] = c.Form("sequence-number") | ||||
| 		c.Data["SequenceNumber"] = c.FormString("sequence-number") | ||||
| 		c.HTML(http.StatusOK, tplNotificationDiv) | ||||
| 		return | ||||
| 	} | ||||
| @ -59,7 +59,7 @@ func Notifications(c *context.Context) { | ||||
| 
 | ||||
| func getNotifications(c *context.Context) { | ||||
| 	var ( | ||||
| 		keyword = strings.Trim(c.Form("q"), " ") | ||||
| 		keyword = strings.Trim(c.FormString("q"), " ") | ||||
| 		status  models.NotificationStatus | ||||
| 		page    = c.FormInt("page") | ||||
| 		perPage = c.FormInt("perPage") | ||||
| @ -87,7 +87,7 @@ func getNotifications(c *context.Context) { | ||||
| 	// redirect to last page if request page is more than total pages | ||||
| 	pager := context.NewPagination(int(total), perPage, page, 5) | ||||
| 	if pager.Paginater.Current() < page { | ||||
| 		c.Redirect(fmt.Sprintf("/notifications?q=%s&page=%d", c.Form("q"), pager.Paginater.Current())) | ||||
| 		c.Redirect(fmt.Sprintf("/notifications?q=%s&page=%d", c.FormString("q"), pager.Paginater.Current())) | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| @ -167,7 +167,7 @@ func NotificationStatusPost(c *context.Context) { | ||||
| 	} | ||||
| 
 | ||||
| 	if !c.FormBool("noredirect") { | ||||
| 		url := fmt.Sprintf("%s/notifications?page=%s", setting.AppSubURL, c.Form("page")) | ||||
| 		url := fmt.Sprintf("%s/notifications?page=%s", setting.AppSubURL, c.FormString("page")) | ||||
| 		c.Redirect(url, http.StatusSeeOther) | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
| @ -143,7 +143,7 @@ func Profile(ctx *context.Context) { | ||||
| 	ctx.Data["Orgs"] = orgs | ||||
| 	ctx.Data["HasOrgsVisible"] = models.HasOrgsVisible(orgs, ctx.User) | ||||
| 
 | ||||
| 	tab := ctx.Form("tab") | ||||
| 	tab := ctx.FormString("tab") | ||||
| 	ctx.Data["TabName"] = tab | ||||
| 
 | ||||
| 	page := ctx.FormInt("page") | ||||
| @ -160,8 +160,8 @@ func Profile(ctx *context.Context) { | ||||
| 		orderBy models.SearchOrderBy | ||||
| 	) | ||||
| 
 | ||||
| 	ctx.Data["SortType"] = ctx.Form("sort") | ||||
| 	switch ctx.Form("sort") { | ||||
| 	ctx.Data["SortType"] = ctx.FormString("sort") | ||||
| 	switch ctx.FormString("sort") { | ||||
| 	case "newest": | ||||
| 		orderBy = models.SearchOrderByNewest | ||||
| 	case "oldest": | ||||
| @ -187,7 +187,7 @@ func Profile(ctx *context.Context) { | ||||
| 		orderBy = models.SearchOrderByRecentUpdated | ||||
| 	} | ||||
| 
 | ||||
| 	keyword := strings.Trim(ctx.Form("q"), " ") | ||||
| 	keyword := strings.Trim(ctx.FormString("q"), " ") | ||||
| 	ctx.Data["Keyword"] = keyword | ||||
| 	switch tab { | ||||
| 	case "followers": | ||||
| @ -220,7 +220,7 @@ func Profile(ctx *context.Context) { | ||||
| 			IncludePrivate:  showPrivate, | ||||
| 			OnlyPerformedBy: true, | ||||
| 			IncludeDeleted:  false, | ||||
| 			Date:            ctx.Form("date"), | ||||
| 			Date:            ctx.FormString("date"), | ||||
| 		}) | ||||
| 		if ctx.Written() { | ||||
| 			return | ||||
| @ -332,5 +332,5 @@ func Action(ctx *context.Context) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	ctx.RedirectToFirst(ctx.Form("redirect_to"), u.HomeLink()) | ||||
| 	ctx.RedirectToFirst(ctx.FormString("redirect_to"), u.HomeLink()) | ||||
| } | ||||
|  | ||||
| @ -90,7 +90,7 @@ func EmailPost(ctx *context.Context) { | ||||
| 	ctx.Data["PageIsSettingsAccount"] = true | ||||
| 
 | ||||
| 	// Make emailaddress primary. | ||||
| 	if ctx.Form("_method") == "PRIMARY" { | ||||
| 	if ctx.FormString("_method") == "PRIMARY" { | ||||
| 		if err := models.MakeEmailPrimary(&models.EmailAddress{ID: ctx.FormInt64("id")}); err != nil { | ||||
| 			ctx.ServerError("MakeEmailPrimary", err) | ||||
| 			return | ||||
| @ -101,7 +101,7 @@ func EmailPost(ctx *context.Context) { | ||||
| 		return | ||||
| 	} | ||||
| 	// Send activation Email | ||||
| 	if ctx.Form("_method") == "SENDACTIVATION" { | ||||
| 	if ctx.FormString("_method") == "SENDACTIVATION" { | ||||
| 		var address string | ||||
| 		if ctx.Cache.IsExist("MailResendLimit_" + ctx.User.LowerName) { | ||||
| 			log.Error("Send activation: activation still pending") | ||||
| @ -147,8 +147,8 @@ func EmailPost(ctx *context.Context) { | ||||
| 		return | ||||
| 	} | ||||
| 	// Set Email Notification Preference | ||||
| 	if ctx.Form("_method") == "NOTIFICATION" { | ||||
| 		preference := ctx.Form("preference") | ||||
| 	if ctx.FormString("_method") == "NOTIFICATION" { | ||||
| 		preference := ctx.FormString("preference") | ||||
| 		if !(preference == models.EmailNotificationsEnabled || | ||||
| 			preference == models.EmailNotificationsOnMention || | ||||
| 			preference == models.EmailNotificationsDisabled) { | ||||
| @ -229,7 +229,7 @@ func DeleteAccount(ctx *context.Context) { | ||||
| 	ctx.Data["Title"] = ctx.Tr("settings") | ||||
| 	ctx.Data["PageIsSettingsAccount"] = true | ||||
| 
 | ||||
| 	if _, err := auth.UserSignIn(ctx.User.Name, ctx.Form("password")); err != nil { | ||||
| 	if _, err := auth.UserSignIn(ctx.User.Name, ctx.FormString("password")); err != nil { | ||||
| 		if models.IsErrUserNotExist(err) { | ||||
| 			loadAccountData(ctx) | ||||
| 
 | ||||
|  | ||||
| @ -23,8 +23,8 @@ func AdoptOrDeleteRepository(ctx *context.Context) { | ||||
| 	allowDelete := ctx.IsUserSiteAdmin() || setting.Repository.AllowDeleteOfUnadoptedRepositories | ||||
| 	ctx.Data["allowDelete"] = allowDelete | ||||
| 
 | ||||
| 	dir := ctx.Form("id") | ||||
| 	action := ctx.Form("action") | ||||
| 	dir := ctx.FormString("id") | ||||
| 	action := ctx.FormString("action") | ||||
| 
 | ||||
| 	ctxUser := ctx.User | ||||
| 	root := filepath.Join(models.UserPath(ctxUser.LowerName)) | ||||
|  | ||||
| @ -193,7 +193,7 @@ func KeysPost(ctx *context.Context) { | ||||
| // DeleteKey response for delete user's SSH/GPG key | ||||
| func DeleteKey(ctx *context.Context) { | ||||
| 
 | ||||
| 	switch ctx.Form("type") { | ||||
| 	switch ctx.FormString("type") { | ||||
| 	case "gpg": | ||||
| 		if err := models.DeleteGPGKey(ctx.User, ctx.FormInt64("id")); err != nil { | ||||
| 			ctx.Flash.Error("DeleteGPGKey: " + err.Error()) | ||||
| @ -265,5 +265,5 @@ func loadKeysData(ctx *context.Context) { | ||||
| 	} | ||||
| 	ctx.Data["Principals"] = principals | ||||
| 
 | ||||
| 	ctx.Data["VerifyingID"] = ctx.Form("verify_gpg") | ||||
| 	ctx.Data["VerifyingID"] = ctx.FormString("verify_gpg") | ||||
| } | ||||
|  | ||||
| @ -25,7 +25,7 @@ func Security(ctx *context.Context) { | ||||
| 	ctx.Data["PageIsSettingsSecurity"] = true | ||||
| 	ctx.Data["RequireU2F"] = true | ||||
| 
 | ||||
| 	if ctx.Form("openid.return_to") != "" { | ||||
| 	if ctx.FormString("openid.return_to") != "" { | ||||
| 		settingsOpenIDVerify(ctx) | ||||
| 		return | ||||
| 	} | ||||
|  | ||||
| @ -78,7 +78,7 @@ func GetListLockHandler(ctx *context.Context) { | ||||
| 	} else if limit < 0 { | ||||
| 		limit = 0 | ||||
| 	} | ||||
| 	id := ctx.Form("id") | ||||
| 	id := ctx.FormString("id") | ||||
| 	if id != "" { //Case where we request a specific id | ||||
| 		v, err := strconv.ParseInt(id, 10, 64) | ||||
| 		if err != nil { | ||||
| @ -95,7 +95,7 @@ func GetListLockHandler(ctx *context.Context) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	path := ctx.Form("path") | ||||
| 	path := ctx.FormString("path") | ||||
| 	if path != "" { //Case where we request a specific id | ||||
| 		lock, err := models.GetLFSLock(repository, path) | ||||
| 		if err != nil && !models.IsErrLFSLockNotExist(err) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user