update: better CSS border colors
This commit is contained in:
124
routes/index.go
124
routes/index.go
@ -13,78 +13,78 @@ import (
|
||||
var PAGE_SIZE = 32
|
||||
|
||||
func GetPage(c *fiber.Ctx) (int, int, int) {
|
||||
page, err := strconv.Atoi(c.Query("p"))
|
||||
if err != nil || page <= 0 {
|
||||
page = 1
|
||||
}
|
||||
|
||||
return page, page*PAGE_SIZE, (page*PAGE_SIZE)-PAGE_SIZE
|
||||
page, err := strconv.Atoi(c.Query("p"))
|
||||
if err != nil || page <= 0 {
|
||||
page = 1
|
||||
}
|
||||
|
||||
return page, page * PAGE_SIZE, (page * PAGE_SIZE) - PAGE_SIZE
|
||||
}
|
||||
|
||||
func GETDetails(c *fiber.Ctx) error {
|
||||
id := c.Params("id")
|
||||
if id == "" || !strings.HasPrefix(id, "MPSI-") {
|
||||
return lib.RenderError(c, 404)
|
||||
}
|
||||
id := c.Params("id")
|
||||
if id == "" || !strings.HasPrefix(id, "MPSI-") {
|
||||
return lib.RenderError(c, 404)
|
||||
}
|
||||
|
||||
v, suc := lib.FindVuln(id)
|
||||
if !suc {
|
||||
return lib.RenderError(c, 404)
|
||||
}
|
||||
|
||||
return c.Render("details", fiber.Map{
|
||||
"v": v,
|
||||
})
|
||||
v, suc := lib.FindVuln(id)
|
||||
if !suc {
|
||||
return lib.RenderError(c, 404)
|
||||
}
|
||||
|
||||
return c.Render("details", fiber.Map{
|
||||
"v": v,
|
||||
})
|
||||
}
|
||||
|
||||
func GETIndex(c *fiber.Ctx) error {
|
||||
cur, max, min := GetPage(c)
|
||||
search_qu := c.Query("q")
|
||||
search_in := c.Query("i")
|
||||
cur, max, min := GetPage(c)
|
||||
search_qu := c.Query("q")
|
||||
search_in := c.Query("i")
|
||||
|
||||
vulns, err := lib.LoadVulns()
|
||||
if err != nil {
|
||||
log.Printf("Failed to load vulns: %s", err.Error())
|
||||
return lib.RenderError(c, 500)
|
||||
}
|
||||
vulns, err := lib.LoadVulns()
|
||||
if err != nil {
|
||||
log.Printf("Failed to load vulns: %s", err.Error())
|
||||
return lib.RenderError(c, 500)
|
||||
}
|
||||
|
||||
results := []lib.Vuln{}
|
||||
for i := len(vulns)-1; i >= 0; i-- {
|
||||
if i >= max || i < min {
|
||||
continue
|
||||
}
|
||||
|
||||
switch search_in {
|
||||
case "desc":
|
||||
if !lib.ContainsCase(vulns[i].Desc, search_qu){
|
||||
continue
|
||||
}
|
||||
case "id":
|
||||
if !lib.ContainsCase(vulns[i].ID, search_qu) {
|
||||
continue
|
||||
}
|
||||
case "pkg":
|
||||
if !lib.ContainsCase(vulns[i].Package, search_qu) {
|
||||
continue
|
||||
}
|
||||
case "status":
|
||||
if !lib.ContainsCase(vulns[i].Status, search_qu) {
|
||||
continue
|
||||
}
|
||||
}
|
||||
results := []lib.Vuln{}
|
||||
for i := len(vulns) - 1; i >= 0; i-- {
|
||||
if i >= max || i < min {
|
||||
continue
|
||||
}
|
||||
|
||||
results = append(results, vulns[i])
|
||||
switch search_in {
|
||||
case "desc":
|
||||
if !lib.ContainsCase(vulns[i].Desc, search_qu) {
|
||||
continue
|
||||
}
|
||||
case "id":
|
||||
if !lib.ContainsCase(vulns[i].ID, search_qu) {
|
||||
continue
|
||||
}
|
||||
case "pkg":
|
||||
if !lib.ContainsCase(vulns[i].Package, search_qu) {
|
||||
continue
|
||||
}
|
||||
case "status":
|
||||
if !lib.ContainsCase(vulns[i].Status, search_qu) {
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
results = append(results, vulns[i])
|
||||
|
||||
pages := int64(math.Ceil(float64(len(results))/float64(PAGE_SIZE)))
|
||||
return c.Render("index", fiber.Map{
|
||||
"pages": pages,
|
||||
"current": cur,
|
||||
"next": cur+1,
|
||||
"prev": cur-1,
|
||||
"vulns": results,
|
||||
"query": search_qu,
|
||||
"in": search_in,
|
||||
})
|
||||
}
|
||||
|
||||
pages := int64(math.Ceil(float64(len(results)) / float64(PAGE_SIZE)))
|
||||
return c.Render("index", fiber.Map{
|
||||
"pages": pages,
|
||||
"current": cur,
|
||||
"next": cur + 1,
|
||||
"prev": cur - 1,
|
||||
"vulns": results,
|
||||
"query": search_qu,
|
||||
"in": search_in,
|
||||
})
|
||||
}
|
||||
|
Reference in New Issue
Block a user