mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 12:27:06 +00:00 
			
		
		
		
	Fix #285
This commit is contained in:
		
							
								
								
									
										10
									
								
								cmd/fix.go
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								cmd/fix.go
									
									
									
									
									
								
							| @@ -11,6 +11,7 @@ import ( | |||||||
| 	"io/ioutil" | 	"io/ioutil" | ||||||
| 	"os" | 	"os" | ||||||
| 	"path" | 	"path" | ||||||
|  | 	"runtime" | ||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
| 	"github.com/codegangsta/cli" | 	"github.com/codegangsta/cli" | ||||||
| @@ -93,9 +94,16 @@ func rewriteAuthorizedKeys(sshPath, oldPath, newPath string) error { | |||||||
| } | } | ||||||
|  |  | ||||||
| func rewriteUpdateHook(path, appPath string) error { | func rewriteUpdateHook(path, appPath string) error { | ||||||
|  | 	if runtime.GOOS == "windows" { | ||||||
|  | 		rp := strings.NewReplacer("\\", "/") | ||||||
|  | 		appPath = "\"" + rp.Replace(appPath) + "\"" | ||||||
|  | 	} else { | ||||||
| 		rp := strings.NewReplacer("\\", "/", " ", "\\ ") | 		rp := strings.NewReplacer("\\", "/", " ", "\\ ") | ||||||
|  | 		appPath = rp.Replace(appPath) | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	if err := ioutil.WriteFile(path, []byte(fmt.Sprintf(models.TPL_UPDATE_HOOK, | 	if err := ioutil.WriteFile(path, []byte(fmt.Sprintf(models.TPL_UPDATE_HOOK, | ||||||
| 		setting.ScriptType, rp.Replace(appPath))), os.ModePerm); err != nil { | 		setting.ScriptType, appPath)), os.ModePerm); err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 	return nil | 	return nil | ||||||
|   | |||||||
| @@ -103,7 +103,10 @@ func runWeb(*cli.Context) { | |||||||
| 			r.Post("/markdown/raw", v1.MarkdownRaw) | 			r.Post("/markdown/raw", v1.MarkdownRaw) | ||||||
|  |  | ||||||
| 			// Users. | 			// Users. | ||||||
| 			r.Get("/users/search", v1.SearchUser) | 			r.Get("/users/search", v1.SearchUsers) | ||||||
|  |  | ||||||
|  | 			// Repositories. | ||||||
|  | 			r.Get("/orgs/:org/repos/search", v1.SearchOrgRepositoreis) | ||||||
|  |  | ||||||
| 			r.Any("**", func(ctx *middleware.Context) { | 			r.Any("**", func(ctx *middleware.Context) { | ||||||
| 				ctx.JSON(404, &base.ApiJsonErr{"Not Found", v1.DOC_URL}) | 				ctx.JSON(404, &base.ApiJsonErr{"Not Found", v1.DOC_URL}) | ||||||
| @@ -182,6 +185,8 @@ func runWeb(*cli.Context) { | |||||||
| 		r.Get("/:authid/delete", admin.DeleteAuthSource) | 		r.Get("/:authid/delete", admin.DeleteAuthSource) | ||||||
| 	}, adminReq) | 	}, adminReq) | ||||||
|  |  | ||||||
|  | 	m.Get("/:username", ignSignIn, user.Profile) | ||||||
|  |  | ||||||
| 	if martini.Env == martini.Dev { | 	if martini.Env == martini.Dev { | ||||||
| 		m.Get("/template/**", dev.TemplatePreview) | 		m.Get("/template/**", dev.TemplatePreview) | ||||||
| 		dev.RegisterDebugRoutes(m) | 		dev.RegisterDebugRoutes(m) | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							| @@ -17,7 +17,7 @@ import ( | |||||||
| 	"github.com/gogits/gogs/modules/setting" | 	"github.com/gogits/gogs/modules/setting" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const APP_VER = "0.4.5.0707 Alpha" | const APP_VER = "0.4.5.0712 Alpha" | ||||||
|  |  | ||||||
| func init() { | func init() { | ||||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||||
|   | |||||||
| @@ -11,6 +11,7 @@ import ( | |||||||
| 	"os" | 	"os" | ||||||
| 	"path" | 	"path" | ||||||
| 	"path/filepath" | 	"path/filepath" | ||||||
|  | 	"runtime" | ||||||
| 	"sort" | 	"sort" | ||||||
| 	"strings" | 	"strings" | ||||||
| 	"time" | 	"time" | ||||||
| @@ -359,11 +360,17 @@ func initRepository(f string, user *User, repo *Repository, initReadme bool, rep | |||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	if runtime.GOOS == "windows" { | ||||||
|  | 		rp := strings.NewReplacer("\\", "/") | ||||||
|  | 		appPath = "\"" + rp.Replace(appPath) + "\"" | ||||||
|  | 	} else { | ||||||
| 		rp := strings.NewReplacer("\\", "/", " ", "\\ ") | 		rp := strings.NewReplacer("\\", "/", " ", "\\ ") | ||||||
|  | 		appPath = rp.Replace(appPath) | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	// hook/post-update | 	// hook/post-update | ||||||
| 	if err := createHookUpdate(filepath.Join(repoPath, "hooks", "update"), | 	if err := createHookUpdate(filepath.Join(repoPath, "hooks", "update"), | ||||||
| 		fmt.Sprintf(TPL_UPDATE_HOOK, setting.ScriptType, | 		fmt.Sprintf(TPL_UPDATE_HOOK, setting.ScriptType, appPath)); err != nil { | ||||||
| 			rp.Replace(appPath))); err != nil { |  | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -500,7 +500,7 @@ func SearchUserByName(key string, limit int) (us []*User, err error) { | |||||||
| 	key = strings.ToLower(key) | 	key = strings.ToLower(key) | ||||||
|  |  | ||||||
| 	us = make([]*User, 0, limit) | 	us = make([]*User, 0, limit) | ||||||
| 	err = x.Limit(limit).Where("lower_name like '%" + key + "%'").Find(&us) | 	err = x.Limit(limit).Where("type=0").And("lower_name like '%" + key + "%'").Find(&us) | ||||||
| 	return us, err | 	return us, err | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -163,7 +163,7 @@ func Users(ctx *middleware.Context) { | |||||||
| 	if p < 1 { | 	if p < 1 { | ||||||
| 		p = 1 | 		p = 1 | ||||||
| 	} | 	} | ||||||
| 	pageNum := 100 | 	pageNum := 50 | ||||||
| 	count := models.CountUsers() | 	count := models.CountUsers() | ||||||
| 	curCount := int64((p-1)*pageNum + pageNum) | 	curCount := int64((p-1)*pageNum + pageNum) | ||||||
| 	if curCount > count { | 	if curCount > count { | ||||||
| @@ -192,7 +192,7 @@ func Repositories(ctx *middleware.Context) { | |||||||
| 	if p < 1 { | 	if p < 1 { | ||||||
| 		p = 1 | 		p = 1 | ||||||
| 	} | 	} | ||||||
| 	pageNum := 2 | 	pageNum := 50 | ||||||
| 	count := models.CountRepositories() | 	count := models.CountRepositories() | ||||||
| 	curCount := int64((p-1)*pageNum + pageNum) | 	curCount := int64((p-1)*pageNum + pageNum) | ||||||
| 	if curCount > count { | 	if curCount > count { | ||||||
|   | |||||||
							
								
								
									
										13
									
								
								routers/api/v1/repositories.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								routers/api/v1/repositories.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | // Copyright 2014 The Gogs Authors. All rights reserved. | ||||||
|  | // Use of this source code is governed by a MIT-style | ||||||
|  | // license that can be found in the LICENSE file. | ||||||
|  |  | ||||||
|  | package v1 | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"github.com/gogits/gogs/modules/middleware" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | func SearchOrgRepositoreis(ctx *middleware.Context) { | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -15,7 +15,7 @@ type user struct { | |||||||
| 	AvatarLink string `json:"avatar"` | 	AvatarLink string `json:"avatar"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func SearchUser(ctx *middleware.Context) { | func SearchUsers(ctx *middleware.Context) { | ||||||
| 	q := ctx.Query("q") | 	q := ctx.Query("q") | ||||||
| 	limit, err := base.StrTo(ctx.Query("limit")).Int() | 	limit, err := base.StrTo(ctx.Query("limit")).Int() | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
|   | |||||||
| @@ -47,13 +47,13 @@ func SettingPost(ctx *middleware.Context, form auth.UpdateProfileForm) { | |||||||
| 	if ctx.User.Name != form.UserName { | 	if ctx.User.Name != form.UserName { | ||||||
| 		isExist, err := models.IsUserExist(form.UserName) | 		isExist, err := models.IsUserExist(form.UserName) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			ctx.Handle(500, "user.Setting(update: check existence)", err) | 			ctx.Handle(500, "user.SettingPost(update: check existence)", err) | ||||||
| 			return | 			return | ||||||
| 		} else if isExist { | 		} else if isExist { | ||||||
| 			ctx.RenderWithErr("User name has been taken.", "user/setting", &form) | 			ctx.RenderWithErr("User name has been taken.", SETTING, &form) | ||||||
| 			return | 			return | ||||||
| 		} else if err = models.ChangeUserName(ctx.User, form.UserName); err != nil { | 		} else if err = models.ChangeUserName(ctx.User, form.UserName); err != nil { | ||||||
| 			ctx.Handle(500, "user.Setting(change user name)", err) | 			ctx.Handle(500, "user.SettingPost(change user name)", err) | ||||||
| 			return | 			return | ||||||
| 		} | 		} | ||||||
| 		log.Trace("%s User name changed: %s -> %s", ctx.Req.RequestURI, ctx.User.Name, form.UserName) | 		log.Trace("%s User name changed: %s -> %s", ctx.Req.RequestURI, ctx.User.Name, form.UserName) | ||||||
| @@ -68,7 +68,7 @@ func SettingPost(ctx *middleware.Context, form auth.UpdateProfileForm) { | |||||||
| 	ctx.User.Avatar = base.EncodeMd5(form.Avatar) | 	ctx.User.Avatar = base.EncodeMd5(form.Avatar) | ||||||
| 	ctx.User.AvatarEmail = form.Avatar | 	ctx.User.AvatarEmail = form.Avatar | ||||||
| 	if err := models.UpdateUser(ctx.User); err != nil { | 	if err := models.UpdateUser(ctx.User); err != nil { | ||||||
| 		ctx.Handle(500, "setting.Setting(UpdateUser)", err) | 		ctx.Handle(500, "setting.SettingPost(UpdateUser)", err) | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	log.Trace("%s User setting updated: %s", ctx.Req.RequestURI, ctx.User.LowerName) | 	log.Trace("%s User setting updated: %s", ctx.Req.RequestURI, ctx.User.LowerName) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Unknown
					Unknown