func pageList(ctx *web.Context, page string) string { if app.RequireAuthentication(ctx) { return "" } num := app.PageNumber(page) paginator := app.NewPaginator(num, listPageSize) paginator.Link = "/admin/pages/" sort := "url" var p *Page var pages []Page // do a search, if required, of title and content var err error var numObjects int if len(ctx.Params["Search"]) > 0 { term := M{"$regex": ctx.Params["Search"]} search := M{"$or": []M{M{"url": term}, M{"content": term}}} err = db.Find(p, search).Sort(sort).Skip(paginator.Skip).Limit(listPageSize).All(&pages) numObjects, _ = db.Find(p, search).Count() } else { err = db.Find(p, nil).Sort(sort).Skip(paginator.Skip).Limit(listPageSize).All(&pages) numObjects, _ = db.Cursor(p).Count() } if err != nil { fmt.Println(err) } return adminBase.Render("blog/admin/page-list.mandira", M{ "Pages": pages, "Pagination": paginator.Render(numObjects)}) }
func (g *GalleryConfig) Save() { if len(g.Id) == 0 { g.Id = bson.NewObjectId() } db.Cursor(galleryConfig).Upsert(bson.M{"_id": g.Id}, g) loaded = false }
func pageDelete(ctx *web.Context, url string) string { if app.RequireAuthentication(ctx) { return "" } db.Cursor(&Page{}).Remove(M{"url": url}) referer := ctx.Request.Header.Get("referer") if len(referer) == 0 { referer = "/admin/" } ctx.Redirect(302, referer) return "" }
func postDelete(ctx *web.Context, slug string) string { if app.RequireAuthentication(ctx) { return "" } db.Cursor(&Post{}).Remove(M{"slug": slug}) referer := ctx.Request.Header.Get("referer") if len(referer) == 0 { referer = "/admin/" } ctx.Redirect(302, referer) return "" }
func streamPage(ctx *web.Context, page string) string { num := app.PageNumber(page) perPage := 25 paginator := app.NewPaginator(num, perPage) paginator.Link = "/stream/page/" var entry *Entry var entries []*Entry // do a search, if required, of title and content var err error var numObjects int if len(ctx.Params["Search"]) > 0 { re := new(bson.RegEx) re.Pattern = ctx.Params["Search"] re.Options = "i" term := M{"$regex": re} search := M{"summaryrendered": term} //search := M{"$or": []M{M{"title": term}, M{"summaryrendered": term}}} err = db.Latest(entry, search).Skip(paginator.Skip).Limit(perPage).All(&entries) numObjects, _ = db.Latest(entry, search).Count() } else { err = db.Latest(entry, nil).Skip(paginator.Skip).Limit(perPage).Iter().All(&entries) numObjects, _ = db.Cursor(entry).Count() } if err != nil { fmt.Println(err) } return base.Render("blog/stream/index.mandira", M{ "Entries": entries, "Pagination": paginator.Render(numObjects), "title": "Lifestream"}, ctx.Params) }