func (this *CommunicateController) Read() {
	ident := this.GetString(":ident")
	b := blog.NOneByIdent(ident)
	if b == nil {
		this.Ctx.WriteString("no such article")
		return
	}

	b.Views = b.Views + 1
	blog.NUpdate(b, "")

	this.Data["Blog"] = b
	this.Data["Content"] = blog.NReadBlogContent(b).Content
	this.Data["PageTitle"] = b.Title
	tmp := catalog.NOneById(b.CatalogId)
	this.Data["Catalog"] = tmp
	this.Data["Addblog"] = `<a href="/newemployee/catalog/` + tmp.Ident + `">返回</a>`
	this.Layout = "main_newemployee/layout/default.html"
	this.TplNames = "main_newemployee/article/read.html"
}
Exemple #2
0
func (this *NArticleController) DoEdit() {
	if !this.IsLogin && !this.IsAdmin {
		this.Ctx.WriteString("you are not the admin or author")
		return
	}
	id, err := this.GetInt("id")
	if err != nil {
		this.Ctx.WriteString("get param id fail")
		return
	}

	b := blog.NOneById(int64(id))
	if b == nil {
		this.Ctx.WriteString("no such article")
		return
	}
	if this.UserName != b.Creator && !this.IsAdmin {
		this.Ctx.WriteString("you are not author or admin")
		return
	}
	title := this.GetString("title")
	ident := this.GetString("ident")
	keywords := this.GetString("keywords")
	catalog_id := this.GetIntWithDefault("catalog_id", -1)
	aType := this.GetIntWithDefault("type", -1)
	status := this.GetIntWithDefault("status", -1)
	content := this.GetString("content")

	if catalog_id == -1 || aType == -1 || status == -1 {
		this.Ctx.WriteString("catalog || type || status is illegal")
		return
	}

	if title == "" || ident == "" {
		this.Ctx.WriteString("title or ident is blank")
		return
	}

	cp := catalog.NOneById(int64(catalog_id))
	if cp == nil {
		this.Ctx.WriteString("catalog_id not exists")
		return
	}

	b.Ident = ident
	b.Title = title
	b.Keywords = keywords
	b.CatalogId = int64(catalog_id)
	b.Type = int8(aType)
	b.Status = int8(status)

	err = blog.NUpdate(b, content)

	if err != nil {
		this.Ctx.WriteString(err.Error())
		return
	}

	this.Ctx.WriteString("success")
	this.JsStorage("deleteKey", "post/edit")
	this.Redirect("/newemployee/catalog/"+cp.Ident, 302)
	return
}