sitemap.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. // Copyright 2015 The Gogs Authors. All rights reserved.
  2. // Copyright 2018 Gitote. All rights reserved.
  3. //
  4. // This source code is licensed under the MIT license found in the
  5. // LICENSE file in the root directory of this source tree.
  6. package admin
  7. import (
  8. "gitote/gitote/models"
  9. "gitote/gitote/pkg/context"
  10. "gitote/gitote/routes"
  11. )
  12. const (
  13. // UserSitemapTPL page template
  14. UserSitemapTPL = "user/sitemap"
  15. // OrgSitemapTPL page template
  16. OrgSitemapTPL = "org/sitemap"
  17. // RepoSitemapTPL page template
  18. RepoSitemapTPL = "repo/sitemap"
  19. )
  20. // UserSitemap shows about page
  21. func UserSitemap(c *context.Context) {
  22. routes.RenderUserSearch(c, &routes.UserSearchOptions{
  23. Type: models.UserTypeIndividual,
  24. Counter: models.CountUsers,
  25. Ranger: models.Users,
  26. OrderBy: "id ASC",
  27. TplName: UserSitemapTPL,
  28. })
  29. }
  30. // OrgSitemap shows about page
  31. func OrgSitemap(c *context.Context) {
  32. routes.RenderUserSearch(c, &routes.UserSearchOptions{
  33. Type: models.UserTypeOrganization,
  34. Counter: models.CountOrganizations,
  35. Ranger: models.Organizations,
  36. OrderBy: "id ASC",
  37. TplName: OrgSitemapTPL,
  38. })
  39. }
  40. // RepoSitemap shows about page
  41. func RepoSitemap(c *context.Context) {
  42. page := c.QueryInt("page")
  43. var (
  44. repos []*models.Repository
  45. count int64
  46. err error
  47. )
  48. repos, count, err = models.SearchRepositoryByName(&models.SearchRepoOptions{
  49. OrderBy: "id ASC",
  50. Private: false,
  51. Page: page,
  52. })
  53. c.Data["Total"] = count
  54. if err = models.RepositoryList(repos).LoadAttributes(); err != nil {
  55. c.Handle(500, "LoadAttributes", err)
  56. return
  57. }
  58. c.Data["Repos"] = repos
  59. c.HTML(200, RepoSitemapTPL)
  60. }