| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- // Copyright 2015 The Gogs Authors. All rights reserved.
- // Copyright 2018 Gitote. All rights reserved.
- //
- // This source code is licensed under the MIT license found in the
- // LICENSE file in the root directory of this source tree.
- package admin
- import (
- "gitote/gitote/models"
- "gitote/gitote/pkg/context"
- "gitote/gitote/pkg/setting"
- "gitote/gitote/routes"
- "gitlab.com/yoginth/paginater"
- )
- const (
- // UserSitemapTPL page template
- UserSitemapTPL = "user/sitemap"
- // OrgSitemapTPL page template
- OrgSitemapTPL = "org/sitemap"
- // RepoSitemapTPL page template
- RepoSitemapTPL = "repo/sitemap"
- )
- // UserSitemap shows about page
- func UserSitemap(c *context.Context) {
- routes.RenderUserSearch(c, &routes.UserSearchOptions{
- Type: models.UserTypeIndividual,
- Counter: models.CountUsers,
- Ranger: models.Users,
- OrderBy: "id ASC",
- TplName: UserSitemapTPL,
- })
- }
- // OrgSitemap shows about page
- func OrgSitemap(c *context.Context) {
- routes.RenderUserSearch(c, &routes.UserSearchOptions{
- Type: models.UserTypeOrganization,
- Counter: models.CountOrganizations,
- Ranger: models.Organizations,
- OrderBy: "id ASC",
- TplName: OrgSitemapTPL,
- })
- }
- // RepoSitemap shows about page
- func RepoSitemap(c *context.Context) {
- page := c.QueryInt("page")
- if page <= 0 {
- page = 1
- }
- var (
- repos []*models.Repository
- count int64
- err error
- )
- keyword := c.Query("q")
- if len(keyword) == 0 {
- repos, err = models.Repositories(page, setting.UI.Admin.RepoPagingNum)
- if err != nil {
- c.Handle(500, "Repositories", err)
- return
- }
- count = models.CountRepositories(true)
- } else {
- repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{
- Keyword: keyword,
- OrderBy: "id ASC",
- Private: true,
- Page: page,
- PageSize: setting.UI.Admin.RepoPagingNum,
- })
- if err != nil {
- c.Handle(500, "SearchRepositoryByName", err)
- return
- }
- }
- c.Data["Keyword"] = keyword
- c.Data["Total"] = count
- c.Data["Page"] = paginater.New(int(count), setting.UI.Admin.RepoPagingNum, page, 5)
- if err = models.RepositoryList(repos).LoadAttributes(); err != nil {
- c.Handle(500, "LoadAttributes", err)
- return
- }
- c.Data["Repos"] = repos
- c.HTML(200, RepoSitemapTPL)
- }
|