func LikeHandler(self *vodka.Context) error { if helper.IsSpider(self.Request().UserAgent()) != true { name := self.FormEscape(":name") id, _ := self.ParamInt64(":id") if name == "topic" { tp := models.GetTopic(id) tp.Hotup = tp.Hotup + 1 tp.Hotscore = helper.Hotness_Score(tp.Hotup, tp.Hotdown) tp.Hotness = helper.Hotness(tp.Hotup, tp.Hotdown, time.Now()) models.PutTopic(id, tp) return self.String(http.StatusOK, "%v", tp.Hotup) } else if name == "node" { nd := models.GetNode(id) nd.Hotup = nd.Hotup + 1 nd.Hotscore = helper.Hotness_Score(nd.Hotup, nd.Hotdown) nd.Hotness = helper.Hotness(nd.Hotup, nd.Hotdown, time.Now()) models.PutNode(id, nd) return self.Status(200) } } return self.Status(401) }
func NodeEditGetHandler(self *vodka.Context) error { data := make(map[string]interface{}) nid, _ := self.ParamInt64(":nid") nid_handler := models.GetNode(nid) data["inode"] = nid_handler data["icategory"] = models.GetCategory(nid_handler.Pid) return self.Render(http.StatusOK, "node_edit.html", data) }
func TopicEditGetHandler(self *vodka.Context) error { data := make(map[string]interface{}) tid, _ := self.ParamInt64(":tid") tid_handler := models.GetTopic(tid) data["topic"] = tid_handler data["inode"] = models.GetNode(tid_handler.Nid) return self.Render(http.StatusOK, "topic_edit.html", data) }
func TopicEditPostHandler(self *vodka.Context) error { tid, _ := self.ParamInt64(":tid") nid, _ := self.ParamInt64("nodeid") cid := models.GetNode(nid).Pid session := sessions.Default(self) var user models.User val := session.Get("user") if val != nil { user = val.(models.User) } uid := user.Id tid_title := self.FormEscape("title") tid_content := self.FormEscape("content") if tid_title != "" && tid_content != "" { models.EditTopic(tid, nid, cid, uid, tid_title, tid_content) return self.Redirect(302, fmt.Sprintf("/view/%v/", tid)) } else { return self.Redirect(302, "/") } }
func NewTopicPostHandler(self *vodka.Context) error { nid, _ := self.ParamInt64("nodeid") cid := models.GetNode(nid).Pid session := sessions.Default(self) var user models.User val := session.Get("user") if val != nil { user = val.(models.User) } uid := user.Id author := user.Nickname tid_title := self.FormEscape("title") tid_content := self.FormEscape("content") if tid_title != "" && tid_content != "" { models.AddTopic(tid_title, tid_content, cid, nid, uid, author) return self.Redirect(302, fmt.Sprintf("/node/", nid)) } else { return self.Redirect(302, "/") } }
func NodeHandler(self *vodka.Context) error { data := make(map[string]interface{}) page, _ := self.ParamInt64("page") nid, _ := self.ParamInt64(":nid") nid_handler := models.GetNode(nid) nid_handler.Views = nid_handler.Views + 1 models.UpdateNode(nid, nid_handler) limit := 25 rcs := len(models.GetAllTopicByNid(nid, 0, 0, 0, "hotness")) pages, pageout, beginnum, endnum, offset := helper.Pages(rcs, int(page), limit) data["pagesbar"] = helper.Pagesbar("", rcs, pages, pageout, beginnum, endnum, 1) data["nodeid"] = nid data["topics_hotness"] = models.GetAllTopicByNid(nid, offset, limit, 0, "hotness") data["topics_latest"] = models.GetAllTopicByNid(nid, offset, limit, 0, "id") if nid != 0 { return self.Render(http.StatusOK, "node.html", data) } else { return self.Redirect(302, "/") } }