mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	| @@ -3,7 +3,7 @@ Gogs - Go Git Service [ | ||||
|  | ||||
| ##### Current version: 0.9.9 | ||||
| ##### Current version: 0.9.10 | ||||
|  | ||||
| | Web | UI  | Preview  | | ||||
| |:-------------:|:-------:|:-------:| | ||||
|   | ||||
							
								
								
									
										25
									
								
								glide.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										25
									
								
								glide.lock
									
									
									
										generated
									
									
									
								
							| @@ -1,5 +1,5 @@ | ||||
| hash: 81254bce31966708f508a845836851efb77d96d8c522e745e67d0daeffd76cc5 | ||||
| updated: 2016-03-12T14:42:55.945562115-05:00 | ||||
| hash: f2fa73b9a379e1fa12f2b48fb0b9942a545b4518a2d71cbd956ee81093347773 | ||||
| updated: 2016-03-15T13:58:01.074601588-04:00 | ||||
| imports: | ||||
| - name: github.com/bradfitz/gomemcache | ||||
|   version: fb1f79c6b65acda83063cbc69f6bba1522558bfc | ||||
| @@ -46,8 +46,10 @@ imports: | ||||
|   version: 788ec59749df076b98e208909b44fdef02779deb | ||||
| - name: github.com/issue9/identicon | ||||
|   version: f8c0d2ce04db79c663b1da33d3a9f62be753ee88 | ||||
| - name: github.com/kardianos/minwinsvc | ||||
|   version: cad6b2b879b0970e4245a20ebf1a81a756e2bb70 | ||||
| - name: github.com/klauspost/compress | ||||
|   version: 2d3d403f37d2e70b722590bc286076a17422e1f2 | ||||
|   version: 006acde2c5d283d2f8b8aa03d8f0cd2891c680cf | ||||
|   subpackages: | ||||
|   - gzip | ||||
|   - flate | ||||
| @@ -59,10 +61,14 @@ imports: | ||||
|   version: 165a3529e799da61ab10faed1fabff3662d6193f | ||||
|   subpackages: | ||||
|   - oid | ||||
| - name: github.com/mattn/go-sqlite3 | ||||
|   version: 76e335f60bbcee20755df9864f0153af1a80ad2d | ||||
| - name: github.com/mcuadros/go-version | ||||
|   version: d52711f8d6bea8dc01efafdb68ad95a4e2606630 | ||||
| - name: github.com/microcosm-cc/bluemonday | ||||
|   version: 4ac6f27528d0a3f2a59e0b0a6f6b3ff0bb89fe20 | ||||
| - name: github.com/msteinert/pam | ||||
|   version: 02ccfbfaf0cc627aa3aec8ef7ed5cfeec5b43f63 | ||||
| - name: github.com/nfnt/resize | ||||
|   version: 4d93a29130b1b6aba503e2aa8b50f516213ea80e | ||||
| - name: github.com/russross/blackfriday | ||||
| @@ -86,18 +92,23 @@ imports: | ||||
| - name: github.com/Unknwon/paginater | ||||
|   version: 7748a72e01415173a27d79866b984328e7b0c12b | ||||
| - name: golang.org/x/crypto | ||||
|   version: de93d05161db39bcbd84d3da2e54c4a18f37f0b1 | ||||
|   version: 6025851c7c2bf210daf74d22300c699b16541847 | ||||
|   subpackages: | ||||
|   - ssh | ||||
|   - curve25519 | ||||
| - name: golang.org/x/net | ||||
|   version: e7da8edaa52631091740908acaf2c2d4c9b3ce90 | ||||
|   version: 35b06af0720201bc2f326773a80767387544f8c4 | ||||
|   subpackages: | ||||
|   - html | ||||
|   - html/charset | ||||
|   - html/atom | ||||
| - name: golang.org/x/sys | ||||
|   version: 9d4e42a20653790449273b3c85e67d6d8bae6e2e | ||||
|   subpackages: | ||||
|   - windows/svc | ||||
|   - windows | ||||
| - name: golang.org/x/text | ||||
|   version: a71fd10341b064c10f4a81ceac72bcf70f26ea34 | ||||
|   version: c20b6f20120f3c96689c10ffa47eee07776b9fe1 | ||||
|   subpackages: | ||||
|   - transform | ||||
|   - encoding | ||||
| @@ -121,7 +132,7 @@ imports: | ||||
| - name: gopkg.in/bufio.v1 | ||||
|   version: 567b2bfa514e796916c4747494d6ff5132a1dfce | ||||
| - name: gopkg.in/gomail.v2 | ||||
|   version: 5ceb8e65415e45e1262fb385212b8193b55c0f99 | ||||
|   version: afff51fd8cbc246672451a1b0b67e8f4a507bad8 | ||||
| - name: gopkg.in/ini.v1 | ||||
|   version: 776aa739ce9373377cd16f526cdf06cb4c89b40f | ||||
| - name: gopkg.in/ldap.v2 | ||||
|   | ||||
| @@ -28,9 +28,12 @@ import: | ||||
| - package: github.com/gogits/git-module | ||||
| - package: github.com/gogits/go-gogs-client | ||||
| - package: github.com/issue9/identicon | ||||
| - package: github.com/kardianos/minwinsvc | ||||
| - package: github.com/lib/pq | ||||
| - package: github.com/mattn/go-sqlite3 | ||||
| - package: github.com/mcuadros/go-version | ||||
| - package: github.com/microcosm-cc/bluemonday | ||||
| - package: github.com/msteinert/pam | ||||
| - package: github.com/nfnt/resize | ||||
| - package: github.com/russross/blackfriday | ||||
| - package: github.com/satori/go.uuid | ||||
|   | ||||
							
								
								
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							| @@ -17,7 +17,7 @@ import ( | ||||
| 	"github.com/gogits/gogs/modules/setting" | ||||
| ) | ||||
|  | ||||
| const APP_VER = "0.9.9.0313" | ||||
| const APP_VER = "0.9.10.0315" | ||||
|  | ||||
| func init() { | ||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||
|   | ||||
| @@ -21,6 +21,12 @@ func Organizations(ctx *context.Context) { | ||||
| 	ctx.Data["PageIsAdmin"] = true | ||||
| 	ctx.Data["PageIsAdminOrganizations"] = true | ||||
|  | ||||
| 	routers.RenderUserSearch(ctx, models.USER_TYPE_ORGANIZATION, models.CountOrganizations, models.Organizations, | ||||
| 		setting.AdminOrgPagingNum, "id ASC", ORGS) | ||||
| 	routers.RenderUserSearch(ctx, &routers.UserSearchOptions{ | ||||
| 		Type:     models.USER_TYPE_ORGANIZATION, | ||||
| 		Counter:  models.CountOrganizations, | ||||
| 		Ranger:   models.Organizations, | ||||
| 		PageSize: setting.AdminOrgPagingNum, | ||||
| 		OrderBy:  "id ASC", | ||||
| 		TplName:  ORGS, | ||||
| 	}) | ||||
| } | ||||
|   | ||||
| @@ -22,8 +22,14 @@ func Repos(ctx *context.Context) { | ||||
| 	ctx.Data["PageIsAdmin"] = true | ||||
| 	ctx.Data["PageIsAdminRepositories"] = true | ||||
|  | ||||
| 	routers.RenderRepoSearch(ctx, models.CountRepositories, models.Repositories, | ||||
| 		setting.AdminRepoPagingNum, "id ASC", REPOS) | ||||
| 	routers.RenderRepoSearch(ctx, &routers.RepoSearchOptions{ | ||||
| 		Counter:  models.CountRepositories, | ||||
| 		Ranger:   models.Repositories, | ||||
| 		Private:  true, | ||||
| 		PageSize: setting.AdminRepoPagingNum, | ||||
| 		OrderBy:  "id ASC", | ||||
| 		TplName:  REPOS, | ||||
| 	}) | ||||
| } | ||||
|  | ||||
| func DeleteRepo(ctx *context.Context) { | ||||
|   | ||||
| @@ -30,8 +30,14 @@ func Users(ctx *context.Context) { | ||||
| 	ctx.Data["PageIsAdmin"] = true | ||||
| 	ctx.Data["PageIsAdminUsers"] = true | ||||
|  | ||||
| 	routers.RenderUserSearch(ctx, models.USER_TYPE_INDIVIDUAL, models.CountUsers, models.Users, | ||||
| 		setting.AdminUserPagingNum, "id ASC", USERS) | ||||
| 	routers.RenderUserSearch(ctx, &routers.UserSearchOptions{ | ||||
| 		Type:     models.USER_TYPE_INDIVIDUAL, | ||||
| 		Counter:  models.CountUsers, | ||||
| 		Ranger:   models.Users, | ||||
| 		PageSize: setting.AdminUserPagingNum, | ||||
| 		OrderBy:  "id ASC", | ||||
| 		TplName:  USERS, | ||||
| 	}) | ||||
| } | ||||
|  | ||||
| func NewUser(ctx *context.Context) { | ||||
|   | ||||
| @@ -44,9 +44,16 @@ func Home(ctx *context.Context) { | ||||
| 	ctx.HTML(200, HOME) | ||||
| } | ||||
|  | ||||
| func RenderRepoSearch(ctx *context.Context, | ||||
| 	counter func() int64, ranger func(int, int) ([]*models.Repository, error), | ||||
| 	pagingNum int, orderBy string, tplName base.TplName) { | ||||
| type RepoSearchOptions struct { | ||||
| 	Counter  func() int64 | ||||
| 	Ranger   func(int, int) ([]*models.Repository, error) | ||||
| 	Private  bool | ||||
| 	PageSize int | ||||
| 	OrderBy  string | ||||
| 	TplName  base.TplName | ||||
| } | ||||
|  | ||||
| func RenderRepoSearch(ctx *context.Context, opts *RepoSearchOptions) { | ||||
| 	page := ctx.QueryInt("page") | ||||
| 	if page <= 1 { | ||||
| 		page = 1 | ||||
| @@ -60,18 +67,19 @@ func RenderRepoSearch(ctx *context.Context, | ||||
|  | ||||
| 	keyword := ctx.Query("q") | ||||
| 	if len(keyword) == 0 { | ||||
| 		repos, err = ranger(page, pagingNum) | ||||
| 		repos, err = opts.Ranger(page, opts.PageSize) | ||||
| 		if err != nil { | ||||
| 			ctx.Handle(500, "ranger", err) | ||||
| 			ctx.Handle(500, "opts.Ranger", err) | ||||
| 			return | ||||
| 		} | ||||
| 		count = counter() | ||||
| 		count = opts.Counter() | ||||
| 	} else { | ||||
| 		repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{ | ||||
| 			Keyword:  keyword, | ||||
| 			OrderBy:  orderBy, | ||||
| 			OrderBy:  opts.OrderBy, | ||||
| 			Private:  opts.Private, | ||||
| 			Page:     page, | ||||
| 			PageSize: pagingNum, | ||||
| 			PageSize: opts.PageSize, | ||||
| 		}) | ||||
| 		if err != nil { | ||||
| 			ctx.Handle(500, "SearchRepositoryByName", err) | ||||
| @@ -80,7 +88,7 @@ func RenderRepoSearch(ctx *context.Context, | ||||
| 	} | ||||
| 	ctx.Data["Keyword"] = keyword | ||||
| 	ctx.Data["Total"] = count | ||||
| 	ctx.Data["Page"] = paginater.New(int(count), pagingNum, page, 5) | ||||
| 	ctx.Data["Page"] = paginater.New(int(count), opts.PageSize, page, 5) | ||||
|  | ||||
| 	for _, repo := range repos { | ||||
| 		if err = repo.GetOwner(); err != nil { | ||||
| @@ -90,7 +98,7 @@ func RenderRepoSearch(ctx *context.Context, | ||||
| 	} | ||||
| 	ctx.Data["Repos"] = repos | ||||
|  | ||||
| 	ctx.HTML(200, tplName) | ||||
| 	ctx.HTML(200, opts.TplName) | ||||
| } | ||||
|  | ||||
| func ExploreRepos(ctx *context.Context) { | ||||
| @@ -98,13 +106,25 @@ func ExploreRepos(ctx *context.Context) { | ||||
| 	ctx.Data["PageIsExplore"] = true | ||||
| 	ctx.Data["PageIsExploreRepositories"] = true | ||||
|  | ||||
| 	RenderRepoSearch(ctx, models.CountPublicRepositories, models.GetRecentUpdatedRepositories, | ||||
| 		setting.ExplorePagingNum, "updated_unix DESC", EXPLORE_REPOS) | ||||
| 	RenderRepoSearch(ctx, &RepoSearchOptions{ | ||||
| 		Counter:  models.CountPublicRepositories, | ||||
| 		Ranger:   models.GetRecentUpdatedRepositories, | ||||
| 		PageSize: setting.ExplorePagingNum, | ||||
| 		OrderBy:  "updated_unix DESC", | ||||
| 		TplName:  EXPLORE_REPOS, | ||||
| 	}) | ||||
| } | ||||
|  | ||||
| func RenderUserSearch(ctx *context.Context, userType models.UserType, | ||||
| 	counter func() int64, ranger func(int, int) ([]*models.User, error), | ||||
| 	pagingNum int, orderBy string, tplName base.TplName) { | ||||
| type UserSearchOptions struct { | ||||
| 	Type     models.UserType | ||||
| 	Counter  func() int64 | ||||
| 	Ranger   func(int, int) ([]*models.User, error) | ||||
| 	PageSize int | ||||
| 	OrderBy  string | ||||
| 	TplName  base.TplName | ||||
| } | ||||
|  | ||||
| func RenderUserSearch(ctx *context.Context, opts *UserSearchOptions) { | ||||
| 	page := ctx.QueryInt("page") | ||||
| 	if page <= 1 { | ||||
| 		page = 1 | ||||
| @@ -118,19 +138,19 @@ func RenderUserSearch(ctx *context.Context, userType models.UserType, | ||||
|  | ||||
| 	keyword := ctx.Query("q") | ||||
| 	if len(keyword) == 0 { | ||||
| 		users, err = ranger(page, pagingNum) | ||||
| 		users, err = opts.Ranger(page, opts.PageSize) | ||||
| 		if err != nil { | ||||
| 			ctx.Handle(500, "ranger", err) | ||||
| 			ctx.Handle(500, "opts.Ranger", err) | ||||
| 			return | ||||
| 		} | ||||
| 		count = counter() | ||||
| 		count = opts.Counter() | ||||
| 	} else { | ||||
| 		users, count, err = models.SearchUserByName(&models.SearchUserOptions{ | ||||
| 			Keyword:  keyword, | ||||
| 			Type:     userType, | ||||
| 			OrderBy:  orderBy, | ||||
| 			Type:     opts.Type, | ||||
| 			OrderBy:  opts.OrderBy, | ||||
| 			Page:     page, | ||||
| 			PageSize: pagingNum, | ||||
| 			PageSize: opts.PageSize, | ||||
| 		}) | ||||
| 		if err != nil { | ||||
| 			ctx.Handle(500, "SearchUserByName", err) | ||||
| @@ -139,10 +159,10 @@ func RenderUserSearch(ctx *context.Context, userType models.UserType, | ||||
| 	} | ||||
| 	ctx.Data["Keyword"] = keyword | ||||
| 	ctx.Data["Total"] = count | ||||
| 	ctx.Data["Page"] = paginater.New(int(count), pagingNum, page, 5) | ||||
| 	ctx.Data["Page"] = paginater.New(int(count), opts.PageSize, page, 5) | ||||
| 	ctx.Data["Users"] = users | ||||
|  | ||||
| 	ctx.HTML(200, tplName) | ||||
| 	ctx.HTML(200, opts.TplName) | ||||
| } | ||||
|  | ||||
| func ExploreUsers(ctx *context.Context) { | ||||
| @@ -150,8 +170,14 @@ func ExploreUsers(ctx *context.Context) { | ||||
| 	ctx.Data["PageIsExplore"] = true | ||||
| 	ctx.Data["PageIsExploreUsers"] = true | ||||
|  | ||||
| 	RenderUserSearch(ctx, models.USER_TYPE_INDIVIDUAL, models.CountUsers, models.Users, | ||||
| 		setting.ExplorePagingNum, "updated_unix DESC", EXPLORE_USERS) | ||||
| 	RenderUserSearch(ctx, &UserSearchOptions{ | ||||
| 		Type:     models.USER_TYPE_INDIVIDUAL, | ||||
| 		Counter:  models.CountUsers, | ||||
| 		Ranger:   models.Users, | ||||
| 		PageSize: setting.ExplorePagingNum, | ||||
| 		OrderBy:  "updated_unix DESC", | ||||
| 		TplName:  EXPLORE_USERS, | ||||
| 	}) | ||||
| } | ||||
|  | ||||
| func NotFound(ctx *context.Context) { | ||||
|   | ||||
| @@ -1 +1 @@ | ||||
| 0.9.9.0313 | ||||
| 0.9.10.0315 | ||||
		Reference in New Issue
	
	Block a user